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

KeyEventArgs.KeyStates Property

Gets the state of the keyboard key associated with this event.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

public KeyStates KeyStates { get; }

Property Value

Type: System.Windows.Input.KeyStates
The state of the key.

A key can be in both the up and toggled states or the down and toggled states. For this reason, determining whether a key is up or down is not as simple as checking the KeyStates value as a numeric value. Instead, you should check the value by treating it as a flag enumeration. Use an AND comparison of the first bit. Alternatively, use the helper properties IsUp, IsDown, and IsToggled to determine whether a given key is up, down, or toggled.

The following example checks whether a key associated with an instance of KeyEventArgs is down by performing a bitwise AND comparison on the KeyStates of the key and the Down enumeration value.

// A bitwise AND operation is used in the comparison. 
// e is an instance of KeyEventArgs. 
// btnDown is a Button. 
if ((e.KeyStates & KeyStates.Down) > 0)
{
    btnDown.Background = Brushes.Red;
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft