PDA

View Full Version : قراردادن یک متغیر به جای آدرس تابع!!



once4ever
دوشنبه 21 شهریور 1384, 18:11 عصر
یه تابع دارم که داخل اون یه منو جدید به برنامه اضافه میشه.
دستوری که این منو رو اضافه میکنه:


MenuItem mmru = new MenuItem(node.Name , new EventHandler(Menu_Click));
mnuItem.MenuItems.Add(mmru);

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

نظرتون چیه؟

S.Azish
سه شنبه 22 شهریور 1384, 13:28 عصر
در اینجا فقط کافیه یک Delegate جدید درست کنید و نام تابع رو بهش بدید



MenuItem mmru = new MenuItem(node.Name , Delegate.CreateDelegate(typeof(EventHandler), this, "menu1_Click", true) as EventHandler);

once4ever
سه شنبه 22 شهریور 1384, 16:18 عصر
ممنون
(به شهرتت افزوده شد ;) )