Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UIElement.KeyDown Event

Occurs when a key is pressed while the keyboard is focused on this element.

Namespace: System.Windows
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public event KeyEventHandler KeyDown
/** @event */
public final void add_KeyDown (KeyEventHandler value)

/** @event */
public final void remove_KeyDown (KeyEventHandler value)

In JScript, you can handle the events defined by a class, but you cannot define your own.
<object KeyDown="KeyEventHandler" .../>

Identifier field

KeyDownEvent

Routing strategy

Bubbling

Delegate

KeyEventHandler

  • The corresponding tunneling event is PreviewKeyDown.

  • Override OnKeyDown to implement class handling for this event in derived classes.

Key handling interacts with other platform features such as commanding and text composition. The KeyDown event is a lower-level text input event that might not behave as expected on certain controls. This is because some controls have control compositing or class handling that provides a higher-level version of text input handling and related events.

This event creates an alias for the Keyboard.KeyDown attached event for this class so that KeyDown is part of the class members list when UIElement is inherited as a base element. Event handlers that are attached to the KeyDown event are attached to the underlying Keyboard.KeyDown attached event and receive the same event data instance.

This example shows how to detect when the Enter key is pressed on the keyboard.

This example consists of a Extensible Application Markup Language (XAML) file and a code-behind file. For the complete samples, see Keyboard Key Sample.

When the user presses the Enter key in the TextBox, the input in the text box appears in another area of the user interface (UI).

The following XAML creates the user interface, which consists of a StackPanel, a TextBlock, and a TextBox.

<StackPanel>
  <TextBlock Width="300" Height="20">
    Type some text into the TextBox and press the Enter key.
  </TextBlock>
  <TextBox Width="300" Height="30" Name="textBox1"
           KeyDown="OnKeyDownHandler"/>
  <TextBlock Width="300" Height="100" Name="textBlock1"/>
</StackPanel>

The following code behind creates the KeyDown event handler. If the key that is pressed is the Enter key, a message is displayed in the TextBlock.

private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return)
    {
        textBlock1.Text = "You Entered: " + textBox1.Text;
    }
}

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft