控件提供当用户与控件交互或控件状态更改时引发的事件。 本文介绍大多数控件共享的常见事件、由用户交互引发的事件,以及特定于特定控件的事件。 有关 Windows 窗体中的事件的详细信息,请参阅 事件概述 和 处理和引发事件。
有关如何添加或删除控件事件处理程序的详细信息,请参阅 如何处理事件。
常见事件
控件通过基类 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
事件。
下面是控件的一些常见属性更改事件:
事件 / 活动 | DESCRIPTION |
---|---|
BackColorChanged | 当 BackColor 属性的值发生更改时触发。 |
BackgroundImageChanged | 当 BackgroundImage 属性的值发生更改时触发。 |
BindingContextChanged | 当 BindingContext 属性的值发生更改时。 |
DockChanged | 当Dock属性的值发生更改时发生。 |
EnabledChanged | 在 Enabled 属性值更改后发生。 |
FontChanged | 当 Font 属性值更改时发生。 |
ForeColorChanged | 当 ForeColor 属性值更改时发生。 |
LocationChanged | 在 Location 属性值更改后发生。 |
SizeChanged | 当 Size 属性值更改时发生。 |
VisibleChanged | 当 Visible 属性值更改时发生。 |
有关事件的完整列表,请参阅 Control 类的“事件”部分。
其他事件
控件还会根据控件的状态或其他与控件的交互引发事件。 例如, HelpRequested 如果控件具有焦点,并且用户按下 F1 键,则会引发该事件。 如果用户在窗体上按下上下文相关的 帮助 按钮,然后按控件上的帮助光标,也会引发此事件。
另一个示例是,当控件更改、移动或调整大小时,会引发 Paint 事件。 此事件为开发人员提供了绘制控件和更改其外观的机会。
有关事件的完整列表,请参阅 Control 类的“事件”部分。