处理表单中的事件
学习如何处理按钮点击和表单提交等用户交互
处理表单中的事件 是 CoddyKit 上的免费 C# Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 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 中处理事件,使应用程序具有交互性。在下一课中,我们将构建一个简单的计算器应用程序,应用您所学的知识。让我们继续编写代码吧!
单击继续进入下一课。

常见问题解答
「处理表单中的事件」课时是免费的吗?
是的 — 「处理表单中的事件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 3 节课。
「处理表单中的事件」这节课中我会学到什么?
学习如何处理按钮点击和表单提交等用户交互 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。
「处理表单中的事件」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Windows Forms 入门
- 设计用户界面
- 处理表单中的事件