معالجة الأحداث في النماذج
تعلّم كيفية معالجة تفاعلات المستخدم، مثل النقر على الأزرار وإرسال النماذج
معالجة الأحداث في النماذج درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 3 دروس في المجموع.
ما الأحداث؟
ما الأحداث؟
الأحداث هي إجراءات أو وقائع يمكن للبرنامج الاستجابة لها، مثل النقر على زر أو تحريك الماوس أو إدخال نص. وتتيح لكم معالجة الأحداث تحديد كيفية تفاعل تطبيقكم مع هذه الإجراءات.
نقطة أساسية: تستخدم Windows Forms البرمجة المعتمدة على الأحداث للاستجابة لإجراءات المستخدم.

فهم الأحداث
ما الأحداث؟
الأحداث هي إجراءات أو وقائع يمكن للبرنامج الاستجابة لها، مثل النقر على زر أو تحريك الماوس أو إدخال نص. وتتيح لكم معالجة الأحداث تحديد كيفية تفاعل تطبيقكم مع هذه الإجراءات.
نقطة أساسية: تستخدم Windows Forms البرمجة المعتمدة على الأحداث للاستجابة لإجراءات المستخدم.
الاشتراك في الأحداث
الاشتراك في الأحداث
للتعامل مع حدث، يجب الاشتراك فيه من خلال تعيين دالة (معالج حدث) تُنفَّذ عند وقوع الحدث. مثال:
using System;
using System.Windows.Forms;
class Program : Form {
static void Main() {
Application.Run(new Program());
}
public Program() {
Button button = new Button() {
Text = "Click Me",
Left = 100,
Top = 50
};
button.Click += Button_Click;
Controls.Add(button);
}
private void Button_Click(object sender, EventArgs e) {
MessageBox.Show("Button was clicked!");
}
}
الأحداث الشائعة
الأحداث الشائعة
إليكم بعض الأحداث الشائعة في Windows Forms:
- Click: يتم تشغيله عند النقر على زر أو عنصر تحكم آخر قابل للنقر.
- TextChanged: يتم تشغيله عند تغيير النص في مربع نص.
- MouseEnter: يتم تشغيله عند دخول مؤشر الماوس إلى عنصر تحكم.
- KeyDown: يتم تشغيله عند الضغط على مفتاح أثناء تركيز عنصر تحكم.
نقطة أساسية: لكل حدث غرض محدد، ويمكنكم استخدام أحداث متعددة لتعزيز التفاعلية.
إضافة معالجات الأحداث في Windows Forms Designer
إضافة معالجات الأحداث في Windows Forms Designer
يمكنكم إضافة معالجات الأحداث باستخدام Windows Forms Designer:
- حددوا عنصر التحكم في Windows Forms Designer.
- افتحوا نافذة الخصائص وانتقلوا إلى علامة تبويب الأحداث (أيقونة صاعقة البرق).
- انقروا نقرًا مزدوجًا على الحدث المطلوب، مثل
Click، لإنشاء معالج حدث في التعليمات البرمجية.
نصيحة: هذه الطريقة أسرع لإضافة معالجات الأحداث إلى عناصر تحكم متعددة.
معلمات الأحداث
معلمات الأحداث
غالبًا ما تتضمن معالجات الأحداث معلمة EventArgs توفر معلومات إضافية حول الحدث. مثال:
using System;
using System.Windows.Forms;
class Program : Form {
static void Main() {
Application.Run(new Program());
}
public Program() {
TextBox textBox = new TextBox() {
Left = 50,
Top = 50,
Width = 200
};
textBox.TextChanged += TextBox_TextChanged;
Controls.Add(textBox);
}
private void TextBox_TextChanged(object sender, EventArgs e) {
TextBox textBox = (TextBox)sender;
Console.WriteLine("Text changed to: " + textBox.Text);
}
}
تحدي تطبيقي
تحدي تطبيقي
أنشئوا تطبيق Windows Forms يحتوي على:
- زر يعرض رسالة عند النقر عليه.
- مربع نص يسجل تغييرات النص في وحدة التحكم.
- تسمية تتحدث عند دخول مؤشر الماوس إلى منطقة محددة.
مثال:
using System;
using System.Windows.Forms;
class Program : Form {
Label label;
static void Main() {
Application.Run(new Program());
}
public Program() {
Button button = new Button() {
Text = "Click Me",
Left = 50,
Top = 50
};
button.Click += (sender, e) => MessageBox.Show("Button clicked!");
Controls.Add(button);
TextBox textBox = new TextBox() {
Left = 50,
Top = 100,
Width = 200
};
textBox.TextChanged += (sender, e) => Console.WriteLine("Text changed to: " + textBox.Text);
Controls.Add(textBox);
label = new Label() {
Text = "Hover over me",
Left = 50,
Top = 150,
Width = 150
};
label.MouseEnter += Label_MouseEnter;
Controls.Add(label);
}
private void Label_MouseEnter(object sender, EventArgs e) {
label.Text = "Mouse is here!";
}
}
أفضل الممارسات لمعالجة الأحداث
أفضل الممارسات لمعالجة الأحداث
إليكم بعض أفضل الممارسات:
- استخدموا أسماءً واضحة لأساليب معالجات الأحداث.
- تجنبوا كتابة منطق مفرط مباشرةً في معالجات الأحداث؛ واستدعوا أساليب أخرى بدلًا من ذلك.
- افصلوا معالجات الأحداث عند عدم الحاجة إليها لتجنب تسربات الذاكرة.
نصيحة: اختبروا معالجات الأحداث للتأكد من أنها تعمل كما هو متوقع في جميع السيناريوهات.
أحسنتم!
أحسنتم!
تهانينا! لقد تعلمتم كيفية التعامل مع الأحداث في Windows Forms لجعل تطبيقاتكم تفاعلية. في الدرس التالي، سننشئ تطبيق آلة حاسبة بسيطًا لتطبيق ما تعلمتموه. لنواصل كتابة التعليمات البرمجية!
انقروا على متابعة للانتقال إلى الدرس التالي.

الأسئلة الشائعة
هل درس «معالجة الأحداث في النماذج» مجاني؟
نعم — نص درس «معالجة الأحداث في النماذج» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 3 دروس في المجموع.
ماذا ستتعلم في «معالجة الأحداث في النماذج»؟
تعلّم كيفية معالجة تفاعلات المستخدم، مثل النقر على الأزرار وإرسال النماذج تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «معالجة الأحداث في النماذج»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى Windows Forms
- تصميم واجهات المستخدم
- معالجة الأحداث في النماذج