2011-07-31 14 views
7

विधि invoke, control.invoke क्या है?क्या आ रहा है?

क्या सामान्य रूप में प्रोग्रामिंग में लागू किया जाता है

उदाहरण:

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(); 
} 

और मुझे यह भी पता करना चाहते हैं MethodInvoker और InvokeRequired क्या मतलब है?

+0

http://stackoverflow.com/questions/14703698/c-invokedelegate – Hlina

उत्तर

11

"आमंत्रण" एक विधि को कॉल करने का संदर्भ देता है।

Winforms Control.Invoke में यूआई थ्रेड पर एक विधि कॉल करने के लिए उपयोग किया जाता है - इसके बिना आप यूआई को किसी अन्य थ्रेड से अपडेट करके अपवाद का कारण बन सकते हैं।

और इसलिए यदि InvokeRequires रिटर्न true इसका मतलब है कि आप यूआई सूत्र में नहीं चल रहे हैं और सही सूत्र में कॉल को चलाने के लिए Control.Invoke उपयोग करना चाहिए।

+0

पर बहुत अच्छा जवाब देखें, इसके अलावा, आप असीमित संस्करण - 'BeginInvoke' का उपयोग करना चाहेंगे – Poma

संबंधित मुद्दे