PDA

View Full Version : چگونه یک رویداد را می توان حذف کرد



hatef86
دوشنبه 03 شهریور 1393, 15:17 عصر
اگر ما یک روی را به صورت زیر ایجاد کنیم
با استفاده از کد نویسم در برنامه

button1.click += (sender, e) => lablel1.Text = "this is first test";
button1.click += (sender, e) => lablel2.Text = "this is 2 test";
button1.click += (sender, e) => lablel3.Text = "this is 3 test";


حال اگر خواسته باشیم رویداد دوم را بعد از استفاده حذف کنیم به چه صورت بایدانجام دهیم
در این قسمت از توابع بدون نام استفاده کرده ایم
یک مشکل اینکه همه توابع بالا پشت سرم هم نیز اجرا می شود و امکان تغییر اولویت نیست به عبارتی با انجام یک کلیک سه دستور بالا اجرا می شوداگر امکانش
هست ممنون میشوم کسی من را راهنمایی کند

دلتنگ اسمان
دوشنبه 03 شهریور 1393, 16:45 عصر
سلام
این مشکل شما با delegate حل میشه. یکم جستجو کنی مطلب در موردش زیاد پیدا میکنی.

elec60
دوشنبه 03 شهریور 1393, 22:50 عصر
شما باید قبل از subscribe کردن ایونتهای ساخته شده با Lambda Expression، ریفرنسهایی به این ایونتها بسازین تا بعدا هر وقت خواستین با =- بتونین unsubscribe کنین

hatef86
سه شنبه 04 شهریور 1393, 10:58 صبح
ممنون
امکان توضیح با یک مثال کوچک
اگه امکانش باشه
ممنون میشوم

hatef86
سه شنبه 04 شهریور 1393, 10:58 صبح
شما باید قبل از subscribe کردن ایونتهای ساخته شده با Lambda Expression، ریفرنسهایی به این ایونتها بسازین تا بعدا هر وقت خواستین با =- بتونین unsubscribe کنین
ممنون
امکان توضیح با یک مثال کوچک
اگه امکانش باشه
ممنون میشوم