Share via


控件事件 (Windows Forms .NET)

控件提供在用户与控件交互或控件状态更改时引发的事件。 本文介绍了大多数控件共享的常见事件、用户交互引发的事件以及特定控件特有的事件。 有关 Windows 窗体中事件的详细信息,请参阅事件概述处理和引发事件

重要

面向 .NET 7 和 .NET 6 的桌面指南文档正在撰写中。

有关如何添加或删除控件事件处理程序的详细信息,请参阅如何处理事件

常见事件

控件通过基类 Control 提供 60 多个事件。 其中包括 Paint 事件(引发控件绘制)、与显示窗口相关的事件(如 ResizeLayout 事件)以及低级别的鼠标和键盘事件。 某些低级别事件通过 Control 合成为语义事件,例如 ClickDoubleClick。 大多数共享事件属于以下类别:

  • 鼠标事件
  • 键盘事件
  • 属性更改事件
  • 其他事件

鼠标事件

考虑到 Windows 窗体是一种用户界面 (UI) 技术,鼠标输入是用户与 Windows 窗体应用程序交互的主要方式。 所有控件都提供基本的鼠标相关事件:

有关详细信息,请参阅使用鼠标事件

键盘事件

如果控件响应用户输入(如 TextBoxButton 控件),则为此控件引发相应的输入事件。 控件必须聚焦以接收键盘事件。 某些控件(例如 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 事件。 此事件为开发人员提供了绘制控件并更改其外观的机会。

有关事件的完整列表,请参阅控件类的“事件”部分

另请参阅