تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس ( 0 ) - الكائن Control خصائصه - طرقه - أحداثه :: الجزء الثالث(والأخير)-الأحداث ::
#1
كاتب الموضوع : أنس محمود

بسم الله الرحمن الرحيم
اللهم اجعل عملي خالصا لوجهك


الدرس ( 0 ) : الكائن Control خصائصه - طرقه - أحداثه >> الجزء الثالث ( والأخير ) : الأحداث <<

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

أولاً : أحداث الفأرة :-

الحدث Click : يتم إطلاقه بمجرد النقر على الأداة ، ووسائط هذا الحدث عادية ،

الحدث MouseClick : يتم إطلاقه عند النقر بالفأرة على الأداة ، و الفرق بينه وبين Click ، أن وسائط هذا الحدث من النوع MouseEventArgs ، ويشترط لإطلاق الحدث MouseClick النقر بالفأرة ، وليس بالمفتاح Space .

الحدث DoubleClick : يتم إطلاقه بمجرد النقر المزدوج على الأداة ، ووسائط هذا الحدث عادية ، والفرق بين الحدث DoubleClick والحدث MouseDoubleClick ، هو نفس الفرق بين Click و MouseClick .

الحدث MouseDown : يتم إطلاقه عند الضغط على الأداة ، والضغط لا يساوي النقر في المعنى ، حيث لا يشترط للضغط تحرير زر الفأرة ، ولكن يشترط ذلك للنقر . ويلي هذا الحدث مباشرة :

الحدث MouseUp : يتم إطلاقه عند تحرير زر الفأرة من الضغط .

الحدث MouseMove : يتم إطلاقه عند تحرك مؤشر الفأرة على الأداة ، ومثله الحدث MouseHover ، ولكن وسائطه عادية .

الحدث MouseWheel : يتم إطلاقه عند تحريك عجلة الفأرة .

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

الحدث MouseLeave : يتم إطلاقه بمجرد خروج مؤشر الفأرة من الأداة .

الكائن MouseEventArgs : يحتوي على عدة خصائص مفيدة ، وهو يمثل وسائط أغلب أحداث الفأرة :

Button : تمثل الزر الذي وقع عليه الحدث .

Delta : تمثل مقدار تغير عجلة الفأرة .

Location : تمثل موقع مؤشر الفأرة . وكذلك X , Y .

تابع == == >
}}}
تم الشكر بواسطة:
#2
[b]ثانياً : أحداث لوحة المفاتيح :-[/b]

الحدث KeyPress : يتم إطلاقه إذا تم الضغط على أحد مفاتيح لوحة المفاتيح ، وسائط هذا الحدث تحتوي على خاصيتين :
KeyChar : تعود بقيمة الحرف الذي تم الضغط عليه .
Handled : إذا كنت تريد إلغاء الحدث كان لم يقع ، مع عدم ظهور أي تأثير لضغطة الزر ، أرسل القيمة True إلى هذه الخاصية ( ستكون مفيدة إذا كنت تريد منع مدخلات معينة في الـ TextBox )

الحدث KeyDown : يتم تكرار إطلاقه طالما الزر مازال مضغوطا إلى أن يتم تحرير الزر ، وسائط هذا الحدث تحتوي بالإضافة لوسائط الحدث KeyPress الى الخصائص :-
ِالخصائص Alt , Control , Shift : تمثل حالة الأزرار Alt , Ctrl , Shift من حيث هل هي مضغوطة أم لا .
الخاصية KeyCode : تعود بالزر الذي تم ضغطه ولكن من خلال تركيب Enum .

والفرق بين الحدثين KeyPress و KeyDown يكمن في أن هذا الحدث KeyPress يتم إطلاقه مع الأرقام والأحرف المطبوعة ، والمفاتيح Enter , Tab , Esc ، أما باقي أزرار لوحة المفاتيح فإنها تطلق الحدث KeyDown .

الحدث KeyUp : يتم إطلاقه بعد تحرير الزر من الضغط ، ووسائط هذا الحدث مثل وسائط الحدث KeyDown .

تابع == == >
}}}
تم الشكر بواسطة:
#3
[b]أحداث التركيز :[/b]

الحدث Enter : يتم إطلاقه بمجرد انتقال التركيز إلى الأداة ، ويتم إطلاق الحدث GotFocus بعده مباشرة ، لذلك من الأفضل التعامل من الحدث Enter لأنه يقع قبله .

الحدث Leave : يتم إطلاقه بمجرد فقدان الأداة للتركيز ، ويتم إطلاق الحدث LostFocus بعده مباشرة ، لذلك من الأفضل التعامل من الحدث Leave لأنه يقع قبله .

الحدث Validating : يقع عند قيام المستخدم بنقل التركيز من الأداة الحالية إلى أداة أخرى ، بشرط أن تكون قيمة الخاصية CausesValidation للأداتين مساوية True ، فإذا قمت بإلغاء الحدث :-

كود :
[color=#000000][COLOR=#0000bb]        e[/color][color=#007700].[/color][color=#0000bb]Cancel [/color][color=#007700]= [/color][COLOR=#0000bb]True  
[/COLOR][/COLOR]

فلا يتم انتقال التركيز ، وإلا يقع الحدث Validated ، وينتقل التركيز ، ويفيدك هذا الحدث كثيراً مع الأداة TextBox للتحقق من مدخلات المستخدم .

تابع == == >
}}}
تم الشكر بواسطة:
#4
أحداث السحب والإفلات :

الحدث DragEnter : يتم إطلاقه عند دخول مؤشر الفأرة على الأداة محمل بالبيانات .

الحدث DragDrop : يتم إطلاقه عند إفلات البيانات على الأداة .

الحدث DragOver : يتم إطلاقه عند انتهاء عملية السحب والإفلات .

والأحداث مشتركة في وسائطها من النوع DragEventArgs .

الكائن DragEventArgs : يحتوي على عدة خصائص مفيدة :-

الخاصية Effect : تمثل تأثيرات السحب والإفلات .

الخاصية AllowedEffect : تعود بالتأثير المرسل من مصدر السحب .

الخواص X , Y : تحدد موقع مؤشر الفأرة .


الخاصية Data : تمثل البيانات المرسلة مع عملية السحب والإفلات ، وهو من النوع IDataObject ، ويحتوي على عدة طرق :-

الطريقة GetData : تعود بالبيانات المرسلة ، مثال :-


كود :
[color=#000000][COLOR=#0000bb]        e[/color][color=#007700].[/color][color=#0000bb]Data[/color][color=#007700].[/color][color=#0000bb]GetData[/color][color=#007700]( [/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]DataFormats[/color][color=#007700].[/color][color=#0000bb]Text [/color][COLOR=#007700])  
[/COLOR][/COLOR]

الطريقة GetDataPresent : تعود بقيمة منطقية تمثل على نوع البيانات ، مماثلة للنوع المرسل أم لا .

كود :
[color=#000000][COLOR=#007700]If [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]Data[/color][color=#007700].[/color][color=#0000bb]GetDataPresent[/color][color=#007700]([/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]DataFormats[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700]) [/color][COLOR=#0000bb]Then
            [/COLOR][COLOR=#dd0000]'نص'
        [/COLOR][COLOR=#007700]Else
            [/COLOR][COLOR=#dd0000]'ليس نص'
        [/COLOR][color=#0000bb]End [/color][COLOR=#007700]If  
[/COLOR][/COLOR]

لمزيد من المعلومات حول السحب والإفلات يمكنك البحث في المنتدى .

أحداث [Propery]Changed : يقع هذا النوع من الأحداث عند تغيير قيمة الخاصية المناظرة للحدث ،
مثل : EnabledChanged , FontChanged , TextChanged , ... .

تابع == == >
}}}
تم الشكر بواسطة:
#5
أحداث أخرى :-

الحدث ControlAdded : يتم إطلاقه عند إضافة كائن محضون للأداة ، وسائط الحدث تحتوي على الخاصية Control والذي يمثل الكائن الذي تم إضافته .

الحدث ControlRemoved : يتم إطلاقه عند حذف كائن محضون من الأداة ، وسائط الحدث تحتوي على الخاصية Control والذي يمثل الكائن الذي تم حذفه .

الحدث Disposed : يتم إطلاقه عند إفراغ الذاكرة من الكائن وقتله .

الحدث HelpRequested : يتم إطلاقه عند طلب مساعدة ( بالضغط على F1 أو الضغط على الأداة بعد تحديد زر المساعدة للنموذج ) ، وسائط هذا الحدث تحتوي على :-

الخاصية Handled : تخبر إطار العمل .NET بأنك قمت بعمل اللازم و تحرير زر المساعدة بارسال القيمة True لها .

الخاصية MousePos : تمثل موقع مؤشر الفأرة الحالي .

الحدث Paint : يتم إطلاق هذا الحدث كلما دعت الحاجة إلى إعادة رسم الأداة ( قد تكون أحد الأسباب استدعاء الطريقة Refresh مثلا ) ، ويحتوي وسائط هذا الحدث على :

الخاصية Graphics : هذا هو المهم معنا في هذا الحدث ، وهو من النوع Graphics ويمكنك رسم ما تشاء على الأداة ، باستخدام الـ GDI+ ( لست هنا بصدد شرح الـ GDI+ ، ولكن يمكنك مراجعة مواضيع الأخ Silverlight – عمر - ، وغيرها من المواضيع بالمنتدى )

الخاصية ClipRectangle : تعود بقيمة من النوع Rectangle تمثل أبعاد منطقة الرسم ( إن صح التعبير )

وهكذا انتهى الدرس ( 0 ) بفضل الله تعالى ،

إن شاء الله ، في الموضوع القادم نبدأ أول دروس دورتنا الفعلية
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس ( 0 ) - الكائن Control خصائصه - طرقه - أحداثه :: الجزء الثاني - الطرق :: RaggiTech 0 2,101 19-10-12, 11:53 AM
آخر رد: RaggiTech
  الدرس ( 0 ) - الكائن Control خصائصه - طرقه - احداثه :: الجزء الأول - الخصائص :: RaggiTech 1 2,232 19-10-12, 11:52 AM
آخر رد: RaggiTech

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


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