การจัดการเหตุการณ์ในแบบฟอร์ม
เรียนรู้วิธีจัดการการโต้ตอบของผู้ใช้ เช่น การคลิกปุ่มและการส่งแบบฟอร์ม
การจัดการเหตุการณ์ในแบบฟอร์ม เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 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:
- คลิก: เกิดขึ้นเมื่อมีการคลิกปุ่มหรือตัวควบคุมอื่นที่สามารถคลิกได้
- TextChanged: เกิดขึ้นเมื่อข้อความในกล่องข้อความเปลี่ยนแปลง
- MouseEnter: เกิดขึ้นเมื่อเคอร์เซอร์เมาส์เคลื่อนเข้าสู่ตัวควบคุม
- KeyDown: เกิดขึ้นเมื่อมีการกดแป้นขณะที่ตัวควบคุมอยู่ในโฟกัส
ประเด็นสำคัญ: แต่ละเหตุการณ์มีวัตถุประสงค์เฉพาะ และคุณสามารถใช้หลายเหตุการณ์เพื่อเพิ่มความสามารถในการโต้ตอบ
การเพิ่มตัวจัดการเหตุการณ์ในตัวออกแบบ
คุณสามารถเพิ่มตัวจัดการเหตุการณ์โดยใช้ตัวออกแบบ Windows Forms:
- เลือกตัวควบคุมในตัวออกแบบ
- เปิดหน้าต่างคุณสมบัติ แล้วไปที่แท็บเหตุการณ์ (ไอคอนรูปสายฟ้า)
- ดับเบิลคลิกเหตุการณ์ที่ต้องการ (เช่น
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 เพื่อทำให้แอปพลิเคชันโต้ตอบได้แล้ว ในบทเรียนถัดไป เราจะสร้างแอปพลิเคชันเครื่องคิดเลขอย่างง่ายเพื่อประยุกต์ใช้สิ่งที่คุณได้เรียนรู้ มาเขียนโค้ดกันต่อเลย!
คลิก ดำเนินการต่อ เพื่อไปยังบทเรียนถัดไป

เรียนรู้ C# ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 93
- บทเรียน
- 346
คำถามที่พบบ่อย
บทเรียน “การจัดการเหตุการณ์ในแบบฟอร์ม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการเหตุการณ์ในแบบฟอร์ม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการเหตุการณ์ในแบบฟอร์ม”
เรียนรู้วิธีจัดการการโต้ตอบของผู้ใช้ เช่น การคลิกปุ่มและการส่งแบบฟอร์ม คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “การจัดการเหตุการณ์ในแบบฟอร์ม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ Windows Forms
- การออกแบบส่วนติดต่อผู้ใช้
- การจัดการเหตุการณ์ในแบบฟอร์ม