Не выполняются действия в 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;