PDA

View Full Version : سوال: رويداد كليك فرم و متد OnClick‌ فرم



dr_csharp
سه شنبه 22 بهمن 1387, 13:54 عصر
سلام دوستان
تفاوت Handle‌ كردن رويداد كليك فرم با Double Click‌كردن روي فرم با حالتي كه متد Onclick‌فرم رو Override‌كنيم چيه ؟

Amir Oveisi
سه شنبه 22 بهمن 1387, 14:27 عصر
The OnClick method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

طبق مطلب مایکروسافت با استفاده از override کردن این متد میشه event کلیلک رو بدون استفاده از delegate هندل کرد. البته این روش برای مدیریت event های کلاس هاس فرزند توصیه شده و برای حالت های معمولی استفاده از delegate بهتر و ساده تره.

موفق باشید
jooje

dr_csharp
سه شنبه 22 بهمن 1387, 16:21 عصر
The OnClick method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

طبق مطلب مایکروسافت با استفاده از override کردن این متد میشه event کلیلک رو بدون استفاده از delegate هندل کرد
jooje
ساختار event‌اينطوره كه وقتي فراخواني ميشه در واقع delegate‌متد مربوطه را فراخواني ميكند .. حالا اينجا فرمودين delegate‌دخالت نداره .. لطفا بيشتر توضيح !؟؟
ممنون

Amir Oveisi
سه شنبه 22 بهمن 1387, 23:54 عصر
متد OnClick عمل raise‌ رویداد کلیلک رو انجام میده و اعلام میکنه که کلیک شد (و در همون لحظه که داره اینکارو میکنه میتونه همونجا یه کارایی هم انجام بده که میشه یه جورایی گفت داره event‌ رو handle میکنه) و به همین دلیل به delegate احتیاجی نداره ولی اون طرف کار برای ارتباط دادن event‌ به handler، از delegate‌ استفاده میشه.

Mhs.Trace
چهارشنبه 23 بهمن 1387, 09:55 صبح
تفاوت Handle‌ كردن رويداد كليك فرم با Double Click‌كردن روي فرم با حالتي كه متد Onclick‌فرم رو Override‌كنيم چيه ؟

سلام
معمولا تو كلاس هاي فرزند براي هندل كردن رويداد كليك والد از Overriding استفاده مي شه. حسن اين كار اينه كه ميشه قبل از اجراي رويداد كليك و دريافت اون توسط برنامه (كه داره از كلاس استفاده مي كنه) بشه كد هايي رو اجرا كرد. اگر از Delegate استفاده كنيد توالي اجراي دستورات توسط كد هاي داخلي كلاس فرزند و كد هاي برنامه استفاده كننده از كلاس بلادرنگ ميشه.

كليك>> اوررايد كلاس فرزند >> كلاس والد>> اجراي روال دليگيت شده در برنامه
كليك>> كلاس والد>> دليگيت فرزند >> اجراي روال دليگيت شده در برنامه

dr_csharp
چهارشنبه 23 بهمن 1387, 20:50 عصر
متد OnClick عمل raise‌ رویداد کلیلک رو انجام میده و اعلام میکنه که کلیک شد و در همون لحظه که داره اینکارو میکنه میتونه همونجا یه کارایی هم انجام بده که میشه یه جورایی گفت داره event‌ رو handle میکنه.

وقتي OnClick‌ فراخواني ميشه در واقع رويداد Click‌ اتفاق افتاده .. حال درصورتيكه EventHandling‌ انجام شده باشه متد مورد نظر توسط delegate‌ فراخواني ميشه .پس Onclick‌ همان رويداد كليك هست و قبل از متد مورد اشاره توسط Delegate‌ فراخواني مي شود .
پس متد Onclick‌ و EventHandling‌ دو مورد جدا از هم و در عين حال مرتبط با هم اند .

ممنون از دوستان