کاربرد Invoke

#C

توسط thearrow در 4 سال پیش
0 845 3 4 سال پیش
thearrowxman
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:

خوش آمدید

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

لطفا ابتدا لاگین کنید