处理用户输入

本主题介绍 System.Windows.Forms.Control 提供的主键盘和鼠标事件。 处理事件时,控件作者应重写受保护的 EventName 方法,而不是向事件附加委托On。 若要查看事件,请参阅从组件引发事件

注释

如果没有与事件关联的数据,则基类的实例 EventArgs 作为参数传递给 OnEventName 方法。

键盘事件

控件可以处理的常见键盘事件是 KeyDownKeyPressKeyUp

事件名称 要重写的方法 事件说明
KeyDown void OnKeyDown(KeyEventArgs) 仅在最初按下键时引发。
KeyPress void OnKeyPress

(KeyPressEventArgs)
每次按键时引发。 如果某个密钥被按住,则会以操作系统定义的重复速率引发 KeyPress 事件。
KeyUp void OnKeyUp(KeyEventArgs) 在松开某个键时引发。

注释

处理键盘输入比重写上表中的事件要复杂得多,超出了本主题的范围。 有关详细信息,请参阅 使用键盘的概述

鼠标事件

控件可以处理的鼠标事件是 MouseDownMouseEnterMouseHoverMouseLeaveMouseMoveMouseUp。 有关详细信息,请参阅 使用鼠标的概述

事件名称 要重写的方法 事件说明
MouseDown void OnMouseDown(MouseEventArgs) 指针位于控件上时,按下鼠标按钮会引发该事件。
MouseEnter void OnMouseEnter(EventArgs) 指针首次进入控件区域时引发。
MouseHover void OnMouseHover(EventArgs) 指针悬停在控件上时引发。
MouseLeave void OnMouseLeave(EventArgs) 指针离开控件区域时引发。
MouseMove void OnMouseMove(MouseEventArgs) 指针在控件区域中移动时引发。
MouseUp void OnMouseUp(MouseEventArgs) 指针位于控件上或指针离开控件区域时,松开鼠标按钮会引发该事件。

另请参阅