Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Control.ProcessKeyMessage Method (Message)


Processes a keyboard message.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
	Flags = SecurityPermissionFlag.UnmanagedCode)]
protected internal virtual bool ProcessKeyMessage(
	ref Message m


Type: System.Windows.Forms.Message

A Message, passed by reference, that represents the window message to process.

Return Value

Type: System.Boolean

true if the message was processed by the control; otherwise, false.

This method is called when a control receives a keyboard message. The method first determines whether the control has a parent; if so, it calls the parent's ProcessKeyPreview method. If the parent's ProcessKeyPreview method does not process the message then the ProcessKeyEventArgs method is called to generate the appropriate keyboard events. The m parameter contains the window message that must be processed. Possible values for the Message.Msg property are WM_CHAR, WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, and WM_SYSKEYUP.

Notes to Inheritors:

When overriding the ProcessKeyMessage method, a control should return true to indicate that it has processed the key. For keys that are not processed by the control, the result of the base class's ProcessKeyEventArgs should be returned. Controls will seldom, if ever, need to override this method.


for all windows for inheriting classes to call this method. Associated enumeration: AllWindows value of UIPermissionWindow.

.NET Framework
Available since 1.1
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft