Задать вопрос
@Zulkund

Как в C# избежать исключения InvalidOperationException?

Добрый день! Столкнулся с такой проблемой. В основном потоке открываю дочерний в котором идет работа с объектом формы(progressBar). Выскакивает исключение:
Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'pB1' не из того потока, в котором он был создан. Как это можно избежать? Переносить работу с потоком из формы не вариант. Заранее спасибо!
  • Вопрос задан
  • 1950 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
  • Яндекс Практикум
    Продвинутая разработка на C# и .NET
    5 месяцев
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
С элементами формы работа возможна только из потока в котором они созданы.
Хотите обновлять progressBar, передавайте значение из своего вспомогательного потока в основной и он уже обновит progressBar
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Dispatcher должен решить проблему
Ответ написан
Комментировать
AnnTHony
@AnnTHony
Интроверт
Через механизм событий наверно тоже может получится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы