Не выполняются действия в Thread - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую всех, кто зашел в эту тему. Создаю поток с передачей параметров. Ошибок при построении нет, красным ничего не выделено. Но по какой-то причине метод, используемый в потоке, не выполняется. Помогите найти причину. Код создания потока
void ButtonXmlConsoleShow(object sender, EventArgs e)
{
    RichTextBox textBox = new RichTextBox();
    textBox.Width = 150;
    textBox.Height = 1000;
    textBox.Location = new Point(100, 50);
    Thread th = new Thread(new ParameterizedThreadStart(XMLRead));
    th.Start(fileName);
    textBox.Text = xmltext;
    this.Controls.Add(textBox);
   }
Код метода
public void XMLRead(object Parameters)
{
    string file = Parameters.ToString();
    //читаем данные из файла
    XDocument doc = XDocument.Load(file);
    //проходим по каждому элементу в library
    foreach (XElement el in doc.Root.Elements())
    {
         //Выводим имя элемента и значение аттрибута id
        xmltext += el.Name;
        //выводим в цикле все аттрибуты
        foreach (XAttribute attr in el.Attributes())
            xmltext += attr;
        xmltext += "  Elements:";
        //выводим в цикле названия всех дочерних элементов и их значения
        foreach (XElement element in el.Elements())
        {
            xmltext += element.Name;
            xmltext += element.Value;
        }
         
     }
   
}

Решение задачи: «Не выполняются действия в Thread»

textual
Листинг программы
Thread th = new Thread(new ParameterizedThreadStart(XMLRead));
th.Start(fileName);
// Дожидаемся завершения потока
th.Join();
textBox.Text = xmltext;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы