المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس 9: التعامل مع الأحداث وتنسيقها...



كبريـ انثى ـاء
07 Oct 2009, 11:54 PM
في درسنا اليوم سوف نتعلم كيف نتعامل مع الأحداث والتي تعد من أساسيات أي Control تقوم بإضافته إلى الفورم

أولا : قم بإنشاء مشروع جديد وضع عليه Button فقط...

والان إضغط ضغطا مزدوجا على ال Button واكتب في الحدث Click الخاص به كما تعلمنا سابقا:


الرمز PHP:

MessageBox.Show("MyMessage");


ثم جرب البرنامج حيث سوف يكون عندما تضغط على ال Button يستدعى الحدث Click مما أدى إلى بدء الأمر الذي كتبناه أعلاه..

ولكن أين تم إضافة الأمر إلى حدث وكيف يتم ذلك؟؟؟

الان دعك من ما فعلناه وأكتب تحت الأمر InitializeComponent أي هنا:


الرمز PHP:

public Form1()
{
InitializeComponent();
هنا
}


أكتب:

الرمز PHP:

button1.MouseEnter += new EventHandler(entermousevoid);


ولا تقلق بشأن الخطأ الناتج عن هذا الكود لأن الأمر ليس موجود حاليا...

والان أنشئ الأمر entermousevoid كالتالي:


الرمز PHP:

private void entermousevoid(object sender, EventArgs e)
{

}


ولا تقلق بشأن هذه المعطيات فهي إجبارية ويجب عليك أن تكتبها إذا أردت أن تضيف أي حدث كان ولكنها في بعض الأحداث سوف تختلف قليلا كما سترى لاحقا...

واكتب به .

الرمز PHP:

MessageBox.Show("MyMessage");


والان قم بتجريب البرنامج وادخل الفأرة على ال Button سوف تلاحظ أن الأمر نفذ!
والسبب أنه قد إستدعى الحدث MouseEnter وعلى ذلك فإن الأمر الذي أنشأناه entermousevoid
قد ربطناه بهاذا الحدث ولذلك تم تنفيذه عند إستدعاء الحدث...

هناك الكثير من الأحداث سوف أشرح وقت تنفيذ بعض منها...

MouseMove : يتنفذ عند تحريك الفأرة فوق ال Control المضاف إليه الأمر على حدثه
MouseDown : يتنفذ عندما يتم ضغط أي زر من الماوس
MouseUp : يتنفذ عندما يتم تحرير كبسة الماوس
KeyDown : عند ضغط أي زر كان
MouseWhile: عند ضغط أو تحريك دولاب الفأرة
MouseLeave : عند خروج الفأرة عن ال Control
LostFocus : عندما يخسر التركيز
GotFocus : عندما يستلم التركيز
KeyUp : عند تحرير أي زر من الكيبورد
FontChanged: عند تغيير الخط
ForeColorChanged : عند تغيير اللون الأمامي
DoubleClick : عند الضغط المزدوج
Resize : عند إعادة التحجيم
Paint : عند رسم الأداة
VisibleChanged : إذا تغيرت خاصية Visible للإداة


هذه أهم الأحداث على ما أظن ويمكنك إستكشاف باقي الأحداث يدويا ... http://www.vb4arab.com/vb/images/smilies/smile.gif

لتوفير وتسهيل كتابة الأمور لكل أمر نضيفه إلى حدث عند كتابة الإضافة إفعل ما يلي:

button1.Click +=
ثم إضغط على زر Tab مرتين حيث سوف يتم إضافة الأمر مع لب parameters المناسبة تلقائيا...

مثلا MouseLeave

الرمز PHP:

public Form1()
{
InitializeComponent();
button1.MouseLeave += new EventHandler(button1_MouseLeave);
}

void button1_MouseLeave(object sender, EventArgs e)
{
throw new NotImplementedException();
}


إحذف السطر الذي يتم كتابته تلقائيا والذي هو:

الرمز PHP:

throw new NotImplementedException();


وكتب الأمر كما يحلو لك http://www.vb4arab.com/vb/images/smilies/smile.gif


أظن أنه أصبح لديك معلومات جيدة عن الأحداث

ولكي تعلم أين يتم إضافة الحدث button1_Click عند الضغط المزدوج عليه من solution explorer إضغط على الفورم التي تحوي الأداة ومن قائمتها المسندلة إدخل على ال
Form1.Designer ومن هنا سوف تجد كل شيئ عن ذلك