16

What is method invoke, control.invoke?

What is invoking in general in programming

examples :

MethodInvoker getValues = new MethodInvoker(delegate()
{
    checkbox1Checked = checkbox1.Checked;
    textBox6Text = textBox6.Text;
    textBox7Text = textBox7.Text;
    textBox3Text = textBox3.Text;
    textBox1Text = textBox1.Text;
    textBox4Text = textBox4.Text;
    richTextBox1Text = richTextBox1.Text;
    textBox5Text = textBox5.Text;
});

if (this.InvokeRequired)
{
    this.Invoke(getValues);
}
else
{
    getValues();
}

And I also wanna know what does MethodInvoker and InvokeRequired mean?

Abrar Jahin
  • 13,970
  • 24
  • 112
  • 161
BOSS
  • 1,828
  • 11
  • 34
  • 60

1 Answers1

15

“Invoking” refers to calling a method.

In winforms Control.Invoke is used to call a method on the UI thread — without it you can cause an exception by updating the UI from another thread.

And so if InvokeRequires returns true it means that you are not running in the UI thread and should use Control.Invoke to run the call in the right thread.

Dan Abramov
  • 264,556
  • 84
  • 409
  • 511
Dror Helper
  • 30,292
  • 15
  • 80
  • 129