Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
UIElement Class
UIElement Events
 KeyDown Event

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
UIElement..::.KeyDown Event

Occurs when a key is pressed while focus is on this element.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/xaml/presentation
Visual Basic (Declaration)
Public Event KeyDown As KeyEventHandler
Visual Basic (Usage)
Dim instance As UIElement
Dim handler As KeyEventHandler

AddHandler instance.KeyDown, handler
C#
public event KeyEventHandler KeyDown
Visual C++
public:
virtual  event KeyEventHandler^ KeyDown {
    void add (KeyEventHandler^ value);
    void remove (KeyEventHandler^ value);
}
JScript
JScript does not support events.
XAML Attribute Usage
<object KeyDown="KeyEventHandler" .../>

Implements

IInputElement..::.KeyDown

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.

Visual Basic
Private Sub OnKeyDownHandler(ByVal sender As Object, ByVal e As KeyEventArgs)
    If (e.Key = Key.Return) Then
        textBlock1.Text = "You Entered: " + textBox1.Text
    End If
End Sub

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

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker