سلام ایم Invoke چیه ؟ اصلا به چه دردی میخوره ؟ چرا وقتی ازdelegate استفاده میکنیم یه جورایی مجبوریم که invoke کنیم؟
اگه میشه کامل توضیح بدید
ممنون
سلام ایم Invoke چیه ؟ اصلا به چه دردی میخوره ؟ چرا وقتی ازdelegate استفاده میکنیم یه جورایی مجبوریم که invoke کنیم؟
اگه میشه کامل توضیح بدید
ممنون
سلام فکر کنم بر عکس گفتی
تا جایی که من میدونم invoke یه delegate رو اجرا میکنه و معمولا وقتی استفاده میشه که شما از تو thread بخوای یه کنترل رو تغییر بدی
مثال:
[CSHARP]
private void btn_Click(object sender, EvenetArgs e)
{
var thread1 = new Thread(SetText1);
var thread2 = new Thread(SetText2);
thread1.Start();
thread2.Start();
}
private void SetText1()
{
textBox1.Text = "Test";
}
private void SetText2()
{
textBox1.Invoke(new Action(() => textBox1.Text = "Test"));
}
[/CSHARP]
چه جالب این ارور رو نداد
Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on.
ممنون
بخاطر همینه دیگه :behind_pc:
ندونستن عیب نیست، نپرسیدن چرا!