تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس 9- التعامل مع الأحداث وتنسيقها
#1
[b]كاتب الموضوع : Tarek Aldwire
[/b]
السلام عليكم ورحمة الله...


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

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

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

كود :
[COLOR=#0000BB]MessageBox[/color][color=#007700].[/color][color=#0000BB]Show[/color][color=#007700]([/color][color=#DD0000]"MyMessage"[/color][color=#007700]);[/color]



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

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

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

كود :
[COLOR=#007700]public [/color][color=#0000BB]Form1[/color][COLOR=#007700]()
        {
            [/COLOR][color=#0000BB]InitializeComponent[/color][COLOR=#007700]();
     [/COLOR][COLOR=#0000BB]هنا
        [/COLOR][color=#007700]}[/color]



أكتب:
كود :
button1
كود :
[color=#007700].[/color][color=#0000BB]MouseEnter [/color][color=#007700]+= new [/color][color=#0000BB]EventHandler[/color][color=#007700]([/color][color=#0000BB]entermousevoid[/color][color=#007700]);[/color]



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

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

كود :
[COLOR=#007700]private [/color][color=#0000BB]void entermousevoid[/color][color=#007700]([/color][color=#0000BB]object sender[/color][color=#007700], [/color][color=#0000BB]EventArgs e[/color][COLOR=#007700])
        {
            
        }[/COLOR]



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

واكتب به .


كود :
[color=#0000BB]MessageBox[/color][color=#007700].[/color][color=#0000BB]Show[/color][color=#007700]([/color][color=#DD0000]"MyMessage"[/color][color=#007700]);[/color]



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

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

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


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

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

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

مثلا MouseLeave
رموز PHP:
كود :
[color=#007700]public [/color][color=#0000BB]Form1[/color][COLOR=#007700]()
        {
            [/COLOR][color=#0000BB]InitializeComponent[/color][COLOR=#007700]();
            [/COLOR][color=#0000BB]button1[/color][color=#007700].[/color][color=#0000BB]MouseLeave [/color][color=#007700]+= new [/color][color=#0000BB]EventHandler[/color][color=#007700]([/color][color=#0000BB]button1_MouseLeave[/color][COLOR=#007700]);
        }

        [/COLOR][color=#0000BB]void button1_MouseLeave[/color][color=#007700]([/color][color=#0000BB]object sender[/color][color=#007700], [/color][color=#0000BB]EventArgs e[/color][COLOR=#007700])
        {
            throw new [/COLOR][color=#0000BB]NotImplementedException[/color][COLOR=#007700]();
        }[/COLOR]



إحذف السطر الذي يتم كتابته تلقائيا والذي هو:
رموز PHP:
كود :
[color=#007700]throw new [/color][color=#0000BB]NotImplementedException[/color][color=#007700]();[/color]



وكتب الأمر كما يحلو لك


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

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

إلى اللقاء في الدرس القادم إن شاء الله ...
}}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم