本主题介绍 System.Windows.Forms.Control 提供的主键盘和鼠标事件。 处理事件时,控件作者应重写受保护的 EventName 方法,而不是向事件附加委托On。 若要查看事件,请参阅从组件引发事件。
注释
如果没有与事件关联的数据,则基类的实例 EventArgs 作为参数传递给 OnEventName 方法。
键盘事件
控件可以处理的常见键盘事件是 KeyDown、KeyPress和 KeyUp。
| 事件名称 | 要重写的方法 | 事件说明 |
|---|---|---|
KeyDown |
void OnKeyDown(KeyEventArgs) |
仅在最初按下键时引发。 |
KeyPress |
void OnKeyPress(KeyPressEventArgs) |
每次按键时引发。 如果某个密钥被按住,则会以操作系统定义的重复速率引发 KeyPress 事件。 |
KeyUp |
void OnKeyUp(KeyEventArgs) |
在松开某个键时引发。 |
注释
处理键盘输入比重写上表中的事件要复杂得多,超出了本主题的范围。 有关详细信息,请参阅 使用键盘的概述。
鼠标事件
控件可以处理的鼠标事件是 MouseDown、MouseEnter、MouseHover、MouseLeave、MouseMove和 MouseUp。 有关详细信息,请参阅 使用鼠标的概述。
| 事件名称 | 要重写的方法 | 事件说明 |
|---|---|---|
MouseDown |
void OnMouseDown(MouseEventArgs) |
指针位于控件上时,按下鼠标按钮会引发该事件。 |
MouseEnter |
void OnMouseEnter(EventArgs) |
指针首次进入控件区域时引发。 |
MouseHover |
void OnMouseHover(EventArgs) |
指针悬停在控件上时引发。 |
MouseLeave |
void OnMouseLeave(EventArgs) |
指针离开控件区域时引发。 |
MouseMove |
void OnMouseMove(MouseEventArgs) |
指针在控件区域中移动时引发。 |
MouseUp |
void OnMouseUp(MouseEventArgs) |
指针位于控件上或指针离开控件区域时,松开鼠标按钮会引发该事件。 |