Edit

Share via


KeyEventArgs.KeyStates Property

Definition

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

public:
 property System::Windows::Input::KeyStates KeyStates { System::Windows::Input::KeyStates get(); };
public System.Windows.Input.KeyStates KeyStates { get; }
member this.KeyStates : System.Windows.Input.KeyStates
Public ReadOnly Property KeyStates As KeyStates

Property Value

The state of the key.

Examples

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;
}
' A bitwise AND operation is used in the comparison.
' e is an instance of KeyEventArgs.
' btnDown is a Button.
If (e.KeyStates And KeyStates.Down) > 0 Then
    btnDown.Background = Brushes.Red

Remarks

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.

Applies to

See also