Podcast
Questions and Answers
ماذا يعني الحدث (Event) في البرمجة؟
ماذا يعني الحدث (Event) في البرمجة؟
- إعلان عن متغير.
- نافذة تصميم.
- عملية أو حالة يتعرض لها أحد الكائنات. (correct)
- مجموعة بيانات.
أيٌّ من الأحداث التالية مرتبط باستخدام الماوس؟
أيٌّ من الأحداث التالية مرتبط باستخدام الماوس؟
- KeyPress
- TextChanged
- Click (correct)
- Timer
أيٌّ من الأحداث التالية لا يصدر عن المستخدم مباشرة؟
أيٌّ من الأحداث التالية لا يصدر عن المستخدم مباشرة؟
- DoubleClick
- Timer (correct)
- Click
- KeyPress
ماذا يطلق على البرنامج الصغير المرتبط بحدث معين؟
ماذا يطلق على البرنامج الصغير المرتبط بحدث معين؟
ماذا يطلق على الإجراء الذي يتم تنفيذه عند وقوع الحدث؟
ماذا يطلق على الإجراء الذي يتم تنفيذه عند وقوع الحدث؟
كيف يتم فتح الإجراء الخاص بعنصر التحكم؟
كيف يتم فتح الإجراء الخاص بعنصر التحكم؟
ما هو الحدث الافتراضي الذي يتم فتح الإجراء الخاص به عند النقر المزدوج على زر؟
ما هو الحدث الافتراضي الذي يتم فتح الإجراء الخاص به عند النقر المزدوج على زر؟
عنصر التحكم الأكثر شيوعا للزر(Button)؟
عنصر التحكم الأكثر شيوعا للزر(Button)؟
من أين يمكن اختيار مُجيب الحدث الخاص بحدث آخر غير الحدث الافتراضي؟
من أين يمكن اختيار مُجيب الحدث الخاص بحدث آخر غير الحدث الافتراضي؟
ماذا يمثل السطر الأول في مُجيب الحدث؟
ماذا يمثل السطر الأول في مُجيب الحدث؟
ماذا تعني كلمة Private في بداية تعريف الإجراء؟
ماذا تعني كلمة Private في بداية تعريف الإجراء؟
ماذا تعني كلمة Void في تعريف الإجراء؟
ماذا تعني كلمة Void في تعريف الإجراء؟
ما هي المعاملات (Parameters)؟
ما هي المعاملات (Parameters)؟
ما هو الحدث الأكثر شيوعا لمربع النص (Textbox)؟
ما هو الحدث الأكثر شيوعا لمربع النص (Textbox)؟
ماذا يحدث عند النقر المزدوج على مربع نص؟
ماذا يحدث عند النقر المزدوج على مربع نص؟
أي زر في لوحة الخصائص يمكن استخدامه لعرض الأحداث أبجديا؟
أي زر في لوحة الخصائص يمكن استخدامه لعرض الأحداث أبجديا؟
ما الفرق بين الحدث Click والحدث MouseClick؟
ما الفرق بين الحدث Click والحدث MouseClick؟
أي مجموعة من الأحداث تهتم بالنقر على العنصر؟
أي مجموعة من الأحداث تهتم بالنقر على العنصر؟
أي مجموعة من الأحداث تهتم بلوحة المفاتيح
أي مجموعة من الأحداث تهتم بلوحة المفاتيح
متى يقع الحدث DoubleClick؟
متى يقع الحدث DoubleClick؟
متى يقع الحدث MouseDown؟
متى يقع الحدث MouseDown؟
متى يقع الحدث KeyPress؟
متى يقع الحدث KeyPress؟
ماذا تحدد التعليمات التي يتم كتابتها في الاجراء الخاص بالاداة؟
ماذا تحدد التعليمات التي يتم كتابتها في الاجراء الخاص بالاداة؟
كيف يمكن تغيير قيمة الخاصة Text لنافذة؟
كيف يمكن تغيير قيمة الخاصة Text لنافذة؟
عند كتابة الكود لتغيير قيمة خاصية لكائن ماهي العلامة التي يتم وضعها بين اسم الخاصية و القيمة المطلوبة؟
عند كتابة الكود لتغيير قيمة خاصية لكائن ماهي العلامة التي يتم وضعها بين اسم الخاصية و القيمة المطلوبة؟
عند كتابة كود لتغيير الخاصية Text لمربع نص ليظهر كلمة "Hello" ماهي الطريقة الصحيحة لكتابة الكود؟
عند كتابة كود لتغيير الخاصية Text لمربع نص ليظهر كلمة "Hello" ماهي الطريقة الصحيحة لكتابة الكود؟
لتنفيذ البرنامج و رؤية النتائج نضغط علي مفتاح؟
لتنفيذ البرنامج و رؤية النتائج نضغط علي مفتاح؟
في الكود
label1.Text = button1.Text;
ماذا يفعل الكود ؟
في الكود
label1.Text = button1.Text;
ماذا يفعل الكود ؟
ماذا يطلق على الكائنات والمتغيرات التي توضع بين الاقواس () الخاصة بتعريف الاجراء؟
ماذا يطلق على الكائنات والمتغيرات التي توضع بين الاقواس () الخاصة بتعريف الاجراء؟
في الكود
textBox2.Text = e.KeyChar.ToString();
ماذا يفعل الكود ؟
في الكود
textBox2.Text = e.KeyChar.ToString();
ماذا يفعل الكود ؟
اية من الاتي يمثل اهم نافذتين في تصميم تطبيقات?
اية من الاتي يمثل اهم نافذتين في تصميم تطبيقات?
كيف يمكن الانتقال بين نافذة الكود و نافذة التصميم?
كيف يمكن الانتقال بين نافذة الكود و نافذة التصميم?
في بيئة التطوير, اي ملف من الملفات التالية يمثل نافذة الكود و يستخدم لكتابة الاوامر و التعليمات?
في بيئة التطوير, اي ملف من الملفات التالية يمثل نافذة الكود و يستخدم لكتابة الاوامر و التعليمات?
اي نافذة مسؤولة عن اضافة عناصر التحكم و خصائص هذه العناصر؟
اي نافذة مسؤولة عن اضافة عناصر التحكم و خصائص هذه العناصر؟
ما هو الامر المستخدم لعرض نافذة الكود?
ما هو الامر المستخدم لعرض نافذة الكود?
ما هو الامر المستخدم لعرض نافذة التصميم?
ما هو الامر المستخدم لعرض نافذة التصميم?
عندما يكون مربع النص غير متاح للكتابة فيه, هذا يعني ان الخاصية Enabled تساوي?
عندما يكون مربع النص غير متاح للكتابة فيه, هذا يعني ان الخاصية Enabled تساوي?
لتغيير لون الكتابة في اداة Label نستخدم الخاصية?
لتغيير لون الكتابة في اداة Label نستخدم الخاصية?
لتكبير حجم الخط في اداة Label نستخدم الخاصية?
لتكبير حجم الخط في اداة Label نستخدم الخاصية?
Flashcards
ما هو الحدث (Event)؟
ما هو الحدث (Event)؟
عملية أو حالة يتعرض لها أحد الكائنات، ويمكن تحديد مجموعة أوامر يتم تنفيذها عند وقوع الحدث.
كيف يتم فتح الإجراء الخاص بعنصر تحكم؟
كيف يتم فتح الإجراء الخاص بعنصر تحكم؟
يتم النقر المزدوج على العنصر لفتح الإجراء الخاص به وكتابة التعليمات البرمجية.
ماذا يمثل السطر الأول في مجيب الحدث؟
ماذا يمثل السطر الأول في مجيب الحدث؟
السطر الأول يمثل بداية الإجراء، حيث يظهر به اسم الإجراء وتعريفه.
ماذا تعني كلمة Private في تعريف الإجراء؟
ماذا تعني كلمة Private في تعريف الإجراء؟
Signup and view all the flashcards
ماذا تعني الكلمة Void في تعريف الإجراء؟
ماذا تعني الكلمة Void في تعريف الإجراء؟
Signup and view all the flashcards
مم يتكون اسم الإجراء؟
مم يتكون اسم الإجراء؟
Signup and view all the flashcards
المعاملات (Parameters)
المعاملات (Parameters)
Signup and view all the flashcards
ماذا يخزن المعامل Sender؟
ماذا يخزن المعامل Sender؟
Signup and view all the flashcards
ماذا يضم المعامل EventArgs؟
ماذا يضم المعامل EventArgs؟
Signup and view all the flashcards
ما هي نافذة الكود؟
ما هي نافذة الكود؟
Signup and view all the flashcards
ما هو الحدث الافتراضي للكائن؟
ما هو الحدث الافتراضي للكائن؟
Signup and view all the flashcards
كيف نمكن المستخدم من الكتابة في مربع النص (Textbox)؟
كيف نمكن المستخدم من الكتابة في مربع النص (Textbox)؟
Signup and view all the flashcards
ماذا يحدث عند النقر على زر Exit؟
ماذا يحدث عند النقر على زر Exit؟
Signup and view all the flashcards
كيف نغير قيمة الخاصية أثناء التنفيذ؟
كيف نغير قيمة الخاصية أثناء التنفيذ؟
Signup and view all the flashcards
ما هو ObjectName؟
ما هو ObjectName؟
Signup and view all the flashcards
ما هو PropertyName؟
ما هو PropertyName؟
Signup and view all the flashcards
ما هي NewValue؟
ما هي NewValue؟
Signup and view all the flashcards
ماذا يحدث عند النقر المزدوج على DoubleClick؟
ماذا يحدث عند النقر المزدوج على DoubleClick؟
Signup and view all the flashcards
ماذا يفعل الكود label1.Text = button1.Text;؟
ماذا يفعل الكود label1.Text = button1.Text;؟
Signup and view all the flashcards
كيف نصل لمعلومات الفئة في #C؟
كيف نصل لمعلومات الفئة في #C؟
Signup and view all the flashcards
ماذا يفعل الكود textBox2.Text = e.KeyChar.ToString();؟
ماذا يفعل الكود textBox2.Text = e.KeyChar.ToString();؟
Signup and view all the flashcards
ما هي الخاصية KeyChar؟
ما هي الخاصية KeyChar؟
Signup and view all the flashcards
ما هما النافذتان الأساسيتان في تصميم التطبيق؟
ما هما النافذتان الأساسيتان في تصميم التطبيق؟
Signup and view all the flashcards
ماذا نفعل في ملف الكود Form1.cs؟
ماذا نفعل في ملف الكود Form1.cs؟
Signup and view all the flashcards
ماذا يحتوي ملف Form1.Designer.CS؟
ماذا يحتوي ملف Form1.Designer.CS؟
Signup and view all the flashcards
ما وظيفة الأمر View Code و View Designer ؟
ما وظيفة الأمر View Code و View Designer ؟
Signup and view all the flashcards
متى يقع الحدث Click؟
متى يقع الحدث Click؟
Signup and view all the flashcards
متى يقع الحدث DoubleClick؟
متى يقع الحدث DoubleClick؟
Signup and view all the flashcards
متى يقع الحدث MouseMove؟
متى يقع الحدث MouseMove؟
Signup and view all the flashcards
متى يقع الحدث MouseDown؟
متى يقع الحدث MouseDown؟
Signup and view all the flashcards
متى يقع الحدث MouseUp؟
متى يقع الحدث MouseUp؟
Signup and view all the flashcards
متى يقع الحدث Dragover؟
متى يقع الحدث Dragover؟
Signup and view all the flashcards
متى يقع الحدث DragDrop؟
متى يقع الحدث DragDrop؟
Signup and view all the flashcards
متى يقع الحدث KeyPress؟
متى يقع الحدث KeyPress؟
Signup and view all the flashcards
متى يقع الحدث KeyDown؟
متى يقع الحدث KeyDown؟
Signup and view all the flashcards
متى يقع الحدث KeyUp؟
متى يقع الحدث KeyUp؟
Signup and view all the flashcards
Study Notes
الأحداث في لغة C#
- يتم التعرف على مفهوم الحدث وأنواعه، وكيفية كتابة التعليمات التي تنفذ عند وقوع الحدث.
بعد دراسة هذا الموضوع، يجب أن تكون قادرًا على:
- شرح مفهوم الحدث.
- تلخيص كيفية الاستجابة للأحداث.
- الوصول إلى الإجراء الخاص بالحدث الأكثر شيوعًا لعنصر التحكم.
- عرض قائمة الأحداث الخاصة بعنصر تحكم والوصول إلى إجراء خاص بأحدها.
- تمييز الإعلان عن الإجراء ومكان كتابة الكود.
- ذكر أهم أحداث الماوس ولوحة المفاتيح.
- التمييز بين الحدث Click والحدث MouseClick.
- شرح دور المعاملات في الإجراءات.
- التبديل بين نافذة الكود ونافذة التصميم.
- التبديل بين نافذة الكود ونافذة التصميم من خلال مربع Solution Explorer.
- تلخيص عمل نافذة الكود التي تنشؤها بيئة التطوير تلقائيًا.
ما هو الحدث (Event)؟
- الحدث هو عملية أو حالة يتعرض لها أحد الكائنات، ويمكن تحديد مجموعة أوامر يتم تنفيذها عند وقوع الحدث.
- هناك أحداث تحدث نتيجة استخدام المستخدم للماوس مثل حدث النقر (Click) أو النقر المزدوج (Double Click)، وأحداث مرتبطة بالضغط على مفاتيح في لوحة المفاتيح (KeyPress).
- هناك أحداث لا تصدر عن المستخدم نفسه مثل حدث عداد الوقت (Timer) الذي يقع كل فترة زمنية دون تدخل المستخدم.
- كل كائن في البرنامج له مجموعة من الأحداث وليس حدث واحد، فمثلاً (مربع النص Textbox) له أحداث مثل Changed أو Click أو Keypress وغيرها.
- البرنامج الذي تصممه هو مجموعة من البرامج الصغيرة، وكل منها يتم تنفيذه عند وقوع الحدث المرتبط بها.
كيف تتم الاستجابة للحدث؟
- الحدث يتكون من عنصرين: الأول هو وقوع الحدث نفسه كالنقر بزر الماوس، والثاني هو الكائن الذي يقع عليه الحدث مثل (زر الأمر Button).
- كل كائن في التطبيق يمتلك مجموعة من البرامج الصغيرة يطلق على كل منها اسم (إجراء Method)، وكل إجراء مرتبط بحدث معين، والأوامر والتعليمات الموجودة داخل الإجراء لا تنفذ إلا بوقوع الحدث.
- الإجراء الذي يتم تنفيذه عند وقوع الحدث يطلق عليه (مجيب الحدث Event Handler).
- كل إجراء يكون فارغًا في البداية، ثم يقوم المبرمج بكتابة التعليمات (Code) المطلوب تنفيذها عند وقوع الحدث.
- قم بالنقر المزدوج بالماوس على العنصر أو الكائن المطلوب كتابة تعليمات له لفتح الإجراء الخاص بعنصر تحكم أو كائن.
تمرين عملي
- ضع زر أمر (Button) على نافذة البرنامج.
- انقر نقرًا مزدوجًا على الزر Button، لتظهر نافذة البرمجة.
- النافذة التي تظهر هي التي يتم فيها كتابة كافة الأوامر الخاصة بالـ Form وما عليها من كائنات.
- في البداية، قد تبدو النافذة مربكة نتيجة لوجود العديد من الأوامر المبهمة، ولكن يتم التعرف عليها خطوة بخطوة.
- الجزء المهم حاليًا هو الجزء المشار إليه بالسهم، حيث تظهر نقطة الإدراج تلقائيًا عند النقر المزدوج على الزر لفتح نافذة الكود.
مثال لكود لحدث النقر
- يوضح كيفية ظهور كود خاص بالزر يتألف من أجزاء رئيسية:
- السطر الأول يمثل بداية الإجراء حيث يظهر به اسم (الإجراء Method) وتعريفه.
- يبدأ السطر بكلمة Private وهي كلمة تحدد أي أجزاء البرنامج يمكنها استخدام هذا الإجراء.
- يلي كلمة Private الكلمة Void وتعني أن هذا الإجراء لا يرجع بقيمة بعد تنفيذه.
- كلمة Button1_click هي اسم الإجراء، وهذا الاسم مكون من جزأين، الأول هو اسم الكائن الذي حدث له الحدث.
- القوسين ( ) بعد اسم الإجراء يوضع بهما ما يسمى المعاملات (Parameters)، وهي مجموعة من الحقول يخزن بها بيانات يستقبلها الإجراء، ويختلف عدد هذه المعاملات من إجراء لآخر.
- آخر جزء في الإجراء هما القوسين { } ، وبينهما يتم كتابة كافة الأوامر المطلوب تنفيذها عند وقوع الحدث.
لماذا تم فتح هذا الإجراء فقط؟
- كما تلاحظ في الكود السابق أن الحدث الذي تم فتح الإجراء الخاص به هو الحدث Click بمعنى عند النقر.
- كل كائن له حدث افتراضي هو الحدث الأكثر شيوعًا، وهو الذي يتم فتح الإجراء الخاص به عند النقر المزدوج على الأداة.
- أكثر حدث يحدث للزر هو النقر (Click)، لذا فعند النقر المزدوج على الزر يتم فتح الإجراء الخاص بالحدث Click.
اختيار أحداث أخرى للكائن
- يمكن اختيار (مجيب الحدث Event handler) الخاص بحدث آخر من خلال مربع الخصائص (Properties)، ويتم ذلك كالتالي:
- قم بتحديد الكائن المطلوب الوصول إلى الأحداث الخاصة به.
- انتقل إلى مربع الخصائص، وقم بنقر الزر (Events).
الأحداث المشتركة
- يوجد أحداث مشتركة (متواجدة ) بين معظم الأدوات، وهناك أحداث خاصة لبعض الأدوات.
- فيما يلي بعض الأحداث المشتركة :
أولاً : أحداث خاصة بحركة الماوس :
- Click: يقع عند النقر فوق الأداة أو الكائن.
- **DoubleClick:**يقع عند النقر نقرًا مزدوجًا فوق الأداة.
- MouseMove: يقع عند تحرك الماوس فوق الأداة.
- **MouseDown: يقع أثناء ضغط زر الماوس وقبل أن ترفع يدك عن الماوس.
- **MouseUp: يقع بعد عملية النقر.
ثانياً : أحداث السحب والإلقاء:
- **Dragover:** يقع عندما يمر المستخدم فوق أداة أخرى بالماوس.
- DragDrop: يقع عندما يقوم المستخدم بوضع الأداة المسحوبة بالماوس في المكان المطلوب.
ثالثاً : أحداث خاصة بلوحة المفاتيح :
- **KeyPress ** : يقع عندما يقوم المستخدم بضغط حرف.
- **KeyDown: يقع أثناء ضغط المفتاح .
- **KeyUp: يقع بعد ضغط المفتاح.
كيفية كتابة التعليمات Code
- التعليمات التي تتم كتابتها في الإجراء الخاص بالأداة هي التي تحدد المهمة المطلوب تنفيذها عند حدوث الحدث.
- لكل اداة مجموعة خصائص تعلمنا كيف يمكن تغييرها في مرحلة التصميم, وهنا سنتعلم باذن الله تعالى كيف يمكن تغييرها اثناء تنفيذ البرنامج وذلك عند وقوع حدث معين.
- هناك قاعدة عامة لتغيير قيمة الخاصية لأي أداة أو كائن أثناء التنفيذ وذلك بكتابة الكود كما يوضح الشكل التالي ، حيث يكتب اسم الكائن, ثم (.) , ثم اسم الخاصية مع مراعاة أن القيم الرقمية أو القيم المعروفة لدي #C مثل True أو False تكتب كما هي, أما القيم الحرفية فتكتب بين علامتي تنصيص مزدوجة .
قانون تعديل القيم
- :ObjectName.PropertyName = New Value
- اسم الكائن أو الأداة المطلوب تغيير قيمة الخاصية لها.
- اسم الخاصية المراد تغيير قيمتها.
- القيمة الجديدة للخاصية.
مثال تطبيقي
- قم بفتح مشروع جديدا, وقم بوضع أداة Textbox علي نافذة النموذج.
- قم بتغيير خاصية Test للمربع إلى القيمة Hello.
- قم بتنفيذ البرنامج بالضغط علي F5 لمشاهدة النتيجة.
مثال على تعديل قيمة الخاصية Text
- إذا أردنا عند النقر المزدوج (DoubleClick) علي مربع النص – بالطبع بعد تشغيل البرنامج – تظهر كلمة Welcome بدلا من Hello، فلابد من تغيير قيمة الخاصية Text اثناء التشغيل.
- بتطبيق القاعدة على التمرين السابق نقوم بعمل التالي:
- في نافذة التصميم قم بعرض قائمة الأحداث.
- قم بالنقر المزدوج DoubleClick على الحدث.
- يتم الانتقال إلى الإجراء الخاص بهذا الحدث.
- قم بكتابة الكود التالي بين { } لهذا الإجراء : textBox1.Text = "welcome";
- قم الآن بضغط مفتاح F5 لتشغيل البرنامج ثم قم بالنقر المزدوج على مربع النص وشاهد ما يحدث.
مثال عملي متكامل
-
قم بفتح مشروعا جديدا من نوع (Windows Application) ، وقم بوضع الأدوات Label, Textbox, Button1, Button2.
-
من مربع الخصائص قم بتعديل خصائص الأدوات الموجودة علي النافذة السابقة بناء علي القيم المبينة في الجدول التالي(أداء، الخاصية، القيمة، الغرض):
-
Form1, Text: Enter User Name, تغيير عنوان النافذة.
-
Labell, Text: User Name, تغيير عنوان الأداة.
-
TextBox1, Enabled: False, لعدم تمكين المستخدم من استخدام مربع النص.
-
Button1, Text: Ok, (لا يوجد غرض).
-
Button2, Text: Exit, (لا يوجد غرض).
-
قم بضغط مفتاح F5 لتنفيذ البرنامج، قم بالنقر علي الزر (Ok) لقبول الاسم أو النقر علي الزر (Exit) للخروج من البرنامج, فلن يفعل شيئا, الاجابة لانك لم تقم بكتابة أي أوامر للزر لينفذها عند النقر عليه.
لتنفيذ المطلوب :
-
عند النقر على زر(Ok) يتم تغيير خاصية Enabled للأداة (Textbox) إلى True لكي يستطيع المستخدم كتابة ما يريد.
-
عند النقر على زر (Exit) يتم الخروج من البرنامج وإغلاق النافذة.
-
قم بالنقر المزدوج علي الأداة Button1 أي زر (Ok) لفتح نافذة البرمجة، وفي الحدث (النقر Click) قم بكتابة الكود التالي: textBox1.Enabled =true;
-
قم بتكرار ما قمت به مع الأداة (Button2) اى الزر (Exit) واكتب الكود التالي: Application.Exit();-
تمرين آخر
-
قم بإنشاء مشروع جديد من النوع (Windows Application) ، وقم بوضع الأدوات زرى أمر وأداة Label على النموذج، والمطلوب إظهار عنوان زر الأمر في الـ Label بمجرد مرور الماوس فوق أي زر منها .
-
خطوات الحل:*
-
قم بإنشاء مشروع جديد من النوع Window Application، قم بوضع,Label) الأدوات زری امر
-
من خلال مربع الخصائص قم بتعديل خصائص الأدوات لتكون كما يبين الجدول التالي :
-
(الأداة، الخاصية، القيمة، الغرض)
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.