Действие, выполняющееся для данного элемента управления, вызвано из неверного потока - C#
Формулировка задачи:
Здравствуйте. Возникает вот такая ошибка на 13 строке :
С помощью BackGroundWorker'а пытался решить задачу, но не выходило, та же ошибка вылетала
Как это решить? Заранее благодарен
void TreeFill()
{
CheckForIllegalCrossThreadCalls = false;
TreeNode AddFile(FileInfo file)
{
var dir = AddDirectory(file.Directory);
return dir.Nodes.Add(file.Name);
}
TreeNode AddDirectory(DirectoryInfo dir)
{
var level = dir.Parent == null ? treeView1.Nodes : AddDirectory(dir.Parent).Nodes;
return level[dir.Name] ?? level.Add(dir.Name, dir.Name);
}
using (StreamReader _SR = new StreamReader("Paths.txt", Encoding.UTF8))
{
string Line = null;
while ((Line = _SR.ReadLine()) != null)
{
DirectoryInfo DI = new DirectoryInfo(Line);
AddDirectory(DI);
}
_SR.Close();
}
button1.Enabled = true;
}
private void button1_Click(object sender, EventArgs e)
{
Thread _TreeFill = new Thread(TreeFill);
_TreeFill.Start();
button1.Enabled = false;
}Решение задачи: «Действие, выполняющееся для данного элемента управления, вызвано из неверного потока»
textual
Листинг программы
public string SetMessageProgress
{
set
{
var setTextAction = new Action(() => { labelProgress.Text = value; });
if (labelProgress.InvokeRequired)
labelProgress.Invoke(setTextAction);
else
setTextAction();
}
}