what is invoking?

BOSS picture BOSS · Jul 31, 2011 · Viewed 24.7k times · Source

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?

Answer

Dror Helper picture Dror Helper · Jul 31, 2011

“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.