Запуск метода в отдельном потоке - C#
Формулировка задачи:
Доброго времени суток!
На форме есть textBox1 и кнопка.
При нажатии на кнопку, создаётся новый поток:
Метод, запускаемый в отдельном потоке должен записывать в текстбокс определённый текст.
Но при нажатии выскакивает ошибка:
Необработанное исключение типа "System.InvalidOperationException" в System.Windows.Forms.dll
Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'IP2' не из того потока, в котором он был создан.
Подскажите, как переделать код, чтобы работало..
private void button1_Click(object sender, EventArgs e) { (new System.Threading.Thread(delegate() { GetCurrentIP(IP2); })).Start(); }
Решение задачи: «Запуск метода в отдельном потоке»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { new Thread(() => GetCurrentIP()).Start(); } private void GetCurrentIP() { if (textBox1.InvokeRequired) textBox1.Invoke(new Action(UpdateTextBox)); else UpdateTextBox(); } private void UpdateTextBox() { textBox1.Text += "Строка"; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д