Обязательно ли нужен InvokeRequired? - C#

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

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

Добрый день! Если задача - поменять значение формы из другого треда, то обычно использовал:
  if (this.InvokeRequired)
                this.Invoke((MethodInvoker)delegate { this.Text = text; });
            else
                this.Text = text;
Так вот. Если мне нужно разом отредактировать много форм, то можно ли использовать вот такую конструкцию:
              BeginInvoke((MethodInvoker)delegate
                {
                    this.Text = text;
                    dataGridView1.Columns[0].Visible = false;
                    ...
                    ...
                });
? То есть, я один раз вызываю BeginInvoke, а внутри скобок редактирую несколько форм.

Решение задачи: «Обязательно ли нужен InvokeRequired?»

textual
Листинг программы
void SafeCall(Action action)
{
   if (InvokeRequired)
      BeginInvoke(action);
   else
      action();
}

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


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

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

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