Недопустимый межпотоковый доступ при вызове MessageBox - C#

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

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

мне нужно чтобы при работе потока что он(помимо тех действий которые он сам выполняет) вызывал messagebox периодически т.е. создаю я поток
Thread s =new Thread(SendWeatherRequestThread);
            s.Start();
а поток во время работы каждые 15 секунд(интервал больше вообще будет но для теста пойдет) перезагружает информацию с сервера.
public void SendWeatherRequestThread()
        {
            while (true)
            {
                Thread.Sleep(15000);
                                MessageBox.Show("Try to reload data!");
                               .....какие -то действия
            }
        }
но при такой записи у меня выкидывает исключение "недопустимый межпотоковый доступ". получается вызов messagebox'а нужно в отдельный поток выкидывать?
вот еще одна ошибка добавилось у меня в функции потока есть такой вызов
string settings = HtmlPage.Window.Invoke("ReadFile", new object[] {path1}) as string;
однако при работе у меня выбросило исключение что "может выполняться только в потоке пользовательского интерфейса" т.е. я не могу вызываться jscript функции из html файла в потоках?

Решение задачи: «Недопустимый межпотоковый доступ при вызове MessageBox»

textual
Листинг программы
if (!this.Dispatcher.CheckAccess())
                    this.Dispatcher.BeginInvoke(new Action(() => MessageBox.Show("Try to reload data!")));

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


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

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

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