Действие, выполняющееся для данного элемента управления, вызвано из неверного потока - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д