منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الدرس الثالث والثلاثون - ال Events - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90)
+--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113)
+---- قسم : دورة .net 2008 . لنبدأ سوياً (http://vb4arb.com/vb/forumdisplay.php?fid=138)
+---- الموضوع : الدرس الثالث والثلاثون - ال Events (/showthread.php?tid=5627)



الدرس الثالث والثلاثون - ال Events - RaggiTech - 14-10-12

كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

لو جربنا الآن ان نقوم بعمل حدث معين لأي موظف عندنا ( مرض ... الخ ) أو لاي سيارة ( حادث اصدام ... الخ ) كنا نقوم بذلك سابقاً عن طريق Delegetes باسم Event مثلاً ، ونقوم بتمرير الدالة الخاصة بالحدث له ، وإذا كنت قد توسعت في ال Delegetes فأنت قادر على معرفة انك تستطيع عمل List بالاحداث التي تم تنفيذها على هذا ال Delegete .

الآن سنتعلم الأمر بطريقة جديدة عن طريق الكلمة المحجوزة Event ...
سنعرف في البداية Delegete مسؤول عن كافة الأحداث التي تحصل للسيارة مثلاً :
C#:

كود :
[FONT=Tahoma]public delegate void CarEventHandler(string msg);[/FONT]

vb.net:

كود :
[FONT=Tahoma]Public Delegate Sub CarEventHandler(ByVal msg As String) [/FONT]

والآن سنقوم بتعريف بعض الاحداث :
C#:

كود :
[FONT=Tahoma]public event CarEventHandler Exploded;[/FONT]
[FONT=Tahoma]public event CarEventHandler Damaged;[/FONT]

vb.net:

كود :
Public Event Exploded As CarEventHandler

كود :
[FONT=Tahoma]Public Event Damaged As CarEventHandler [/FONT]

الآن يمكنك ببساطة من خلال الكود تنفيذ اي حدث فيهم بالشكل التالي :
C#:

كود :
[FONT=Tahoma]Damaged("my car");[/FONT]


vb.net:

كود :
[FONT=Tahoma]Damaged("my car") [/FONT]


الآن يمكنك اختبار اي event==null ام لا لمعرفة إذا كان تم اطلاقه قبل ذلك أم لا .

آخر نقطة ، لاضافة دالة الحدث :

C#:

كود :
[FONT=Tahoma][color=black]Car.EngineHandler d = new Car.CarEventHandler(CarExploded);[/color][/FONT]

vb.net:

كود :
Dim d As Car.EngineHandler = New Car.CarEventHandler(CarExploded)



والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .