تقييم الموضوع :
  • 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 ومن هنا سوف تجد كل شيئ عن ذلك

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس 22- دوال sql server RaggiTech 0 1,044 18-10-12, 04:11 PM
آخر رد: RaggiTech
  الدرس 21- Stored Procedures RaggiTech 0 923 18-10-12, 04:09 PM
آخر رد: RaggiTech
  الدرس 20- تنفيذ جمل الإستعلام insert-update-delete RaggiTech 2 963 18-10-12, 04:08 PM
آخر رد: RaggiTech
  الدرس 19- ربط قاعدة بيانات accessمع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 1,315 18-10-12, 03:41 PM
آخر رد: RaggiTech
  الدرس 18- ربط قاعدة بيانات sql مع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 2,465 18-10-12, 03:29 PM
آخر رد: RaggiTech
  الدرس 17- مقدمة إلى قواعد البيانات RaggiTech 0 732 18-10-12, 03:21 PM
آخر رد: RaggiTech
  الدرس 16- تصميم الأدوات الخاصة RaggiTech 0 699 18-10-12, 03:20 PM
آخر رد: RaggiTech
  الدرس 15- البداية مع gdi+ RaggiTech 1 751 18-10-12, 03:16 PM
آخر رد: RaggiTech
  الدرس 14- شرح تقنية ال wpf مع بعض الأمثلة RaggiTech 4 1,094 18-10-12, 03:12 PM
آخر رد: RaggiTech
  الدرس 13- Multi-Threading RaggiTech 0 769 18-10-12, 03:03 PM
آخر رد: RaggiTech

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


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