控件事件 (Windows Forms .NET)
控件提供在用户与控件交互或控件状态更改时引发的事件。 本文介绍了大多数控件共享的常见事件、用户交互引发的事件以及特定控件特有的事件。 有关 Windows 窗体中事件的详细信息,请参阅事件概述和处理和引发事件。
重要
面向 .NET 7 和 .NET 6 的桌面指南文档正在撰写中。
有关如何添加或删除控件事件处理程序的详细信息,请参阅如何处理事件。
常见事件
控件通过基类 Control 提供 60 多个事件。 其中包括 Paint 事件(引发控件绘制)、与显示窗口相关的事件(如 Resize 和 Layout 事件)以及低级别的鼠标和键盘事件。 某些低级别事件通过 Control 合成为语义事件,例如 Click 和 DoubleClick。 大多数共享事件属于以下类别:
- 鼠标事件
- 键盘事件
- 属性更改事件
- 其他事件
鼠标事件
考虑到 Windows 窗体是一种用户界面 (UI) 技术,鼠标输入是用户与 Windows 窗体应用程序交互的主要方式。 所有控件都提供基本的鼠标相关事件:
- MouseClick
- MouseDoubleClick
- MouseDown
- MouseEnter
- MouseHover
- MouseLeave
- MouseMove
- MouseUp
- MouseWheel
- Click
有关详细信息,请参阅使用鼠标事件。
键盘事件
如果控件响应用户输入(如 TextBox 或 Button 控件),则为此控件引发相应的输入事件。 控件必须聚焦以接收键盘事件。 某些控件(例如 Label 控件)无法聚焦,也无法接收键盘事件。 以下是键盘事件列表:
有关详细信息,请参阅使用键盘事件。
属性更改事件
对于具有更改事件的属性,Windows 窗体遵循 PropertyNameChanged 模式。 Windows 窗体提供的数据绑定引擎可以识别这种模式并与之很好地集成。 创建自己的控件时,实现此模式。
此模式实现以下规则,以属性 FirstName
为例:
- 将属性命名为:
FirstName
。 - 使用模式
PropertyNameChanged
为属性创建一个事件:FirstNameChanged
。 - 使用模式
OnPropertyNameChanged
创建专用或受保护的方法:OnFirstNameChanged
。
如果 FirstName
属性集修改了后备值,则调用 OnFirstNameChanged
方法。 OnFirstNameChanged
方法引发 FirstNameChanged
事件。
以下是控件的一些常见属性更改事件:
重要活动 | 说明 |
---|---|
BackColorChanged | 当 BackColor 属性的值更改时发生。 |
BackgroundImageChanged | 当 BackgroundImage 属性的值更改时发生。 |
BindingContextChanged | 当 BindingContext 属性的值更改时发生。 |
DockChanged | 当 Dock 属性的值更改时发生。 |
EnabledChanged | 在 Enabled 属性值更改后发生。 |
FontChanged | 在 Font 属性值更改时发生。 |
ForeColorChanged | 在 ForeColor 属性值更改时发生。 |
LocationChanged | 在 Location 属性值更改后发生。 |
SizeChanged | 在 Size 属性值更改时发生。 |
VisibleChanged | 在 Visible 属性值更改时发生。 |
有关事件的完整列表,请参阅控件类的“事件”部分。
其他事件
控件还将根据控件的状态或其他与控件的交互来引发事件。 例如,如果控件具有焦点并且用户按 F1 键,则会引发 HelpRequested 事件。 如果用户按窗体上的上下文相关“帮助”按钮,然后按控件上的帮助光标,则也会引发此事件。
另一个示例是更改、移动控件或重设控件大小时,会引发 Paint 事件。 此事件为开发人员提供了绘制控件并更改其外观的机会。
有关事件的完整列表,请参阅控件类的“事件”部分。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈