* Merge winforms framework content to working branch (#14) * Breadcrumb / TOC / Move net5 to net folder (#15) * change path from net5 to net * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Mess with bread/toc * Add .net 5 winforms placeholder article (#16) * added some metadata and adjusted net5 placeholder * corrections * corrections * corrections * Test1 * Swapping landing page vs concept * fix links * Fix links * Fix desc
4.9 KiB
title, ms.date, dev_langs, helpviewer_keywords, ms.assetid
| title | ms.date | dev_langs | helpviewer_keywords | ms.assetid | |||||
|---|---|---|---|---|---|---|---|---|---|
| Handling User Input | 03/30/2017 |
|
|
d9b12787-86f6-4022-8e0f-e12d312c4af2 |
Handling User Input
This topic describes the main keyboard and mouse events provided by xref:System.Windows.Forms.Control?displayProperty=nameWithType. When handling an event, control authors should override the protected OnEventName method rather than attaching a delegate to the event. For a review of events, see Raising Events from a Component.
Note
If there is no data associated with an event, an instance of the base class xref:System.EventArgs is passed as an argument to the
OnEventName method.
Keyboard Events
The common keyboard events that your control can handle are xref:System.Windows.Forms.Control.KeyDown, xref:System.Windows.Forms.Control.KeyPress, and xref:System.Windows.Forms.Control.KeyUp.
| Event Name | Method to Override | Description of Event |
|---|---|---|
KeyDown |
void OnKeyDown(KeyEventArgs) |
Raised only when a key is initially pressed. |
KeyPress |
void OnKeyPress(KeyPressEventArgs) |
Raised every time a key is pressed. If a key is held down, a xref:System.Windows.Forms.Control.KeyPress event is raised at the repeat rate defined by the operating system. |
KeyUp |
void OnKeyUp(KeyEventArgs) |
Raised when a key is released. |
Note
Handling keyboard input is considerably more complex than overriding the events in the preceding table and is beyond the scope of this topic. For more information, see User Input in Windows Forms.
Mouse Events
The mouse events that your control can handle are xref:System.Windows.Forms.Control.MouseDown, xref:System.Windows.Forms.Control.MouseEnter, xref:System.Windows.Forms.Control.MouseHover, xref:System.Windows.Forms.Control.MouseLeave, xref:System.Windows.Forms.Control.MouseMove, and xref:System.Windows.Forms.Control.MouseUp.
| Event Name | Method to Override | Description of Event |
|---|---|---|
MouseDown |
void OnMouseDown(MouseEventArgs) |
Raised when the mouse button is pressed while the pointer is over the control. |
MouseEnter |
void OnMouseEnter(EventArgs) |
Raised when the pointer first enters the region of the control. |
MouseHover |
void OnMouseHover(EventArgs) |
Raised when the pointer hovers over the control. |
MouseLeave |
void OnMouseLeave(EventArgs) |
Raised when the pointer leaves the region of the control. |
MouseMove |
void OnMouseMove(MouseEventArgs) |
Raised when the pointer moves in the region of the control. |
MouseUp |
void OnMouseUp(MouseEventArgs) |
Raised when the mouse button is released while the pointer is over the control or the pointer leaves the region of the control. |
The following code fragment shows an example of overriding the xref:System.Windows.Forms.Control.MouseDown event.
[!code-csharpSystem.Windows.Forms.FlashTrackBar#7] [!code-vbSystem.Windows.Forms.FlashTrackBar#7]
The following code fragment shows an example of overriding the xref:System.Windows.Forms.Control.MouseMove event.
[!code-csharpSystem.Windows.Forms.FlashTrackBar#8] [!code-vbSystem.Windows.Forms.FlashTrackBar#8]
The following code fragment shows an example of overriding the xref:System.Windows.Forms.Control.MouseUp event.
[!code-csharpSystem.Windows.Forms.FlashTrackBar#9] [!code-vbSystem.Windows.Forms.FlashTrackBar#9]
For the complete source code for the FlashTrackBar sample, see How to: Create a Windows Forms Control That Shows Progress.