0Pricing
C# Academy · 课时

处理表单中的事件

学习如何处理按钮点击和表单提交等用户交互

处理表单中的事件 是 CoddyKit 上的免费 C# Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 3 节课。

什么是事件?

什么是事件?

事件是程序可以响应的操作或情况,例如按钮单击、鼠标移动或文本输入。事件处理可以让您定义应用程序应如何响应这些操作。

要点:Windows Forms 使用事件驱动编程来响应用户操作。

处理表单中的事件 — 插图 1

了解事件

什么是事件?

事件是程序可以响应的操作或情况,例如按钮单击、鼠标移动或文本输入。事件处理可以让您定义应用程序应如何响应这些操作。

要点: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 设计器添加事件处理程序:

  1. 在设计器中选择控件。
  2. 打开属性窗口,然后转到“事件”选项卡(闪电图标)。
  3. 双击所需的事件(例如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 中处理事件,使应用程序具有交互性。在下一课中,我们将构建一个简单的计算器应用程序,应用您所学的知识。让我们继续编写代码吧!

单击继续进入下一课。

处理表单中的事件 — 插图 10

常见问题解答

「处理表单中的事件」课时是免费的吗?

是的 — 「处理表单中的事件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. Windows Forms 入门
  2. 设计用户界面
  3. 处理表单中的事件
← 返回 C# Academy