کاربرد Invoke

بازدید34.9kپست ها3آخرین فعالیت10 سال پیش
0
0

سلام ایم Invoke چیه ؟ اصلا به چه دردی میخوره ؟ چرا وقتی ازdelegate استفاده میکنیم یه جورایی مجبوریم که invoke کنیم؟
اگه میشه کامل توضیح بدید

ممنون

0

سلام فکر کنم بر عکس گفتی
تا جایی که من میدونم 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]

0

چه جالب این ارور رو نداد

Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on.

ممنون

0

بخاطر همینه دیگه :behind_pc:

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.