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