PDA

View Full Version : متد InvokeRequired چیست ؟



arash ghafori
پنج شنبه 19 اردیبهشت 1392, 13:03 عصر
با سلام.
میخواستم بدونم متد InvokeRequired() چیه و به چه درد میخوره.
مثلا :

if (button3.InvokeRequired == true)
{
setDisplay d = new setDisplay(buttonText);
this.Invoke(d, new object[] { btnText });
}
else
{
button3.Text = btnText;
}


ممنون میشم کمکم کنید.

tooraj_azizi_1035
پنج شنبه 19 اردیبهشت 1392, 15:42 عصر
InvokeRequired یک Property است.
کنترل ها در Windows Forms به یک نخ خاص وابسته هستند و Thread-safe نیستند. بنابراین اگر یکی از متدهای کنترل را از Thread ای دیگر فراخوانی کنید، باید از یکی از متدهای Invoke جهت مشایعت این فراخوانی به Threadدرست استفاده کنید. این Property تعیین کننده آن است که آیا باید یک متد Invoke را فراخوانی کنید یا خیر، که زمانی که نمی دانید کدام Threadمالک کنترل شماست مفید است.
بیشتر:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invokerequired.aspx