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
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft