Недопустимая операция в нескольких потоках - C# (247713)
Формулировка задачи:
1. Есть класс
MyClass
в котором методMyMethod
каждую секунду увеличевает переменную наa
1 иTestEvent
- событие которое срабатывает через каждую секунду и передаеет в своем аргументе значение переменнойа
2. Создаю экземпляр класса и вызываю его метод в новом потоке, также создаю его событие которому назначаю мутод в котором пишу progressBar1.Value = progress; и у меня выбивает ошибкая понял что сообщенный метод с TestEvent - пренадлежит вторичном потоку (хотя вроде бы находится в первичном на первый взгляд). Я со вторичного потока обращаюсь к элементу progressBar1 который относится к первичному. Вот и ошибка. А Как мне быть? Помогите пожалуйста.
Как сделать что бы прогрессБар получал значения с вторичного потока и отображал его. Его как то надо добавить в контекст Вторичного потока?Решение задачи: «Недопустимая операция в нескольких потоках»
textual
Листинг программы
private void TestClass_TestEvent(int progress) { progressBar1.BeginInvoke(() => progressBar1.Value = progress); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д