Keyboard 类

定义

表示键盘设备。

public ref class Keyboard abstract sealed
public static class Keyboard
type Keyboard = class
Public Class Keyboard
继承
Keyboard

示例

以下示例演示如何使用 IsKeyToggled 方法确定键是否处于切换状态。 Key如果切换传递给 IsKeyToggled 的 ,则更改按钮的背景。

// Uses the Keyboard.IsToggled to determine if a key is toggled.
if (Keyboard.IsKeyToggled(Key.Return))
{
    btnIsToggle.Background = Brushes.Red;
}
else
{
    btnIsToggle.Background = Brushes.AliceBlue;
}
' Uses the Keyboard.IsToggled to determine if a key is toggled.
If Keyboard.IsKeyToggled(Key.Return) Then
    btnIsToggle.Background = Brushes.Red
Else
    btnIsToggle.Background = Brushes.AliceBlue
End If

注解

Keyboard 提供与键盘相关的事件、方法和属性,这些事件、方法和属性提供有关键盘状态的信息。

定义为附加事件的每个事件 Keyboard 也会由基元素类 UIElement 重新公开,并 ContentElement 作为新的路由事件重新公开。 通常,在 和 ContentElementUIElement处理应用程序的键盘事件比使用 Keyboard 事件更方便。 有关详细信息,请参阅 输入概述

为了使元素接收键盘输入,该元素必须是可聚焦的。 默认情况下,大多数 UIElement 派生对象都是可聚焦的。 否则,若要使元素可聚焦,请将基元素上的 属性设置为 Focusabletrue。 有关基元素的详细信息,请参阅 基元素概述

Panel 类(如 StackPanelCanvas)将 的默认值 Focusable 设置为 false。 因此,要使这些对象获得键盘焦点, Focusable 必须将 设置为 true

键盘焦点是指接收键盘输入的对象。 具有键盘焦点的元素已 IsKeyboardFocused 设置为 true。 整个桌面上只能有一个具有键盘焦点的元素。 逻辑焦点是指焦点范围内具有焦点的对象。 有关焦点、键盘焦点和逻辑焦点的详细信息,请参阅 输入概述焦点概述

类的 Keyboard 静态成员委托给 KeyboardDevice 调用线程的主节点,因此它们不一定是线程安全的。

字段

GotKeyboardFocusEvent

标识 GotKeyboardFocus 附加事件。

KeyboardInputProviderAcquireFocusEvent

标识 KeyboardInputProviderAcquireFocus 附加事件。

KeyDownEvent

标识 KeyDown 附加事件。

KeyUpEvent

标识 KeyUp 附加事件。

LostKeyboardFocusEvent

标识 LostKeyboardFocus 附加事件。

PreviewGotKeyboardFocusEvent

标识 PreviewGotKeyboardFocus 附加事件。

PreviewKeyboardInputProviderAcquireFocusEvent

标识 PreviewKeyboardInputProviderAcquireFocus 附加事件。

PreviewKeyDownEvent

标识 PreviewKeyDown 附加事件。

PreviewKeyUpEvent

标识 PreviewKeyUp 附加事件。

PreviewLostKeyboardFocusEvent

标识 PreviewLostKeyboardFocus 附加事件。

属性

DefaultRestoreFocusMode

获取或设置还原焦点时Windows Presentation Foundation (WPF) 的行为。

FocusedElement

获取具有键盘焦点的元素。

Modifiers

获取当前按下的 ModifierKeys 集。

PrimaryDevice

获取主键盘输入设备。

方法

AddGotKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

GotKeyboardFocus 附加事件添加处理程序。

AddKeyboardInputProviderAcquireFocusHandler(DependencyObject, KeyboardInputProviderAcquireFocusEventHandler)

KeyboardInputProviderAcquireFocus 附加事件添加处理程序。

AddKeyDownHandler(DependencyObject, KeyEventHandler)

KeyDown 附加事件添加处理程序。

AddKeyUpHandler(DependencyObject, KeyEventHandler)

KeyUp 附加事件添加处理程序。

AddLostKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

LostKeyboardFocus 附加事件添加处理程序。

AddPreviewGotKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

PreviewGotKeyboardFocus 附加事件添加处理程序。

AddPreviewKeyboardInputProviderAcquireFocusHandler(DependencyObject, KeyboardInputProviderAcquireFocusEventHandler)

PreviewKeyboardInputProviderAcquireFocus 附加事件添加处理程序。

AddPreviewKeyDownHandler(DependencyObject, KeyEventHandler)

PreviewKeyDown 附加事件添加处理程序。

AddPreviewKeyUpHandler(DependencyObject, KeyEventHandler)

PreviewKeyUp 附加事件添加处理程序。

AddPreviewLostKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

PreviewLostKeyboardFocus 附加事件添加处理程序。

ClearFocus()

清除焦点。

Focus(IInputElement)

对指定元素设置键盘焦点。

GetKeyStates(Key)

获取指定键的键状态集。

IsKeyDown(Key)

确定指定的键是否处于按下状态。

IsKeyToggled(Key)

确定指定的键是否处于切换状态。

IsKeyUp(Key)

确定指定的键是否处于松开状态。

RemoveGotKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

移除 GotKeyboardFocus 附加事件的处理程序。

RemoveKeyboardInputProviderAcquireFocusHandler(DependencyObject, KeyboardInputProviderAcquireFocusEventHandler)

移除 KeyboardInputProviderAcquireFocus 附加事件的处理程序。

RemoveKeyDownHandler(DependencyObject, KeyEventHandler)

移除 KeyDown 附加事件的处理程序。

RemoveKeyUpHandler(DependencyObject, KeyEventHandler)

移除 KeyUp 附加事件的处理程序。

RemoveLostKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

移除 LostKeyboardFocus 附加事件的处理程序。

RemovePreviewGotKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

移除 PreviewGotKeyboardFocus 附加事件的处理程序。

RemovePreviewKeyboardInputProviderAcquireFocusHandler(DependencyObject, KeyboardInputProviderAcquireFocusEventHandler)

移除 PreviewKeyboardInputProviderAcquireFocus 附加事件的处理程序。

RemovePreviewKeyDownHandler(DependencyObject, KeyEventHandler)

移除 PreviewKeyDown 附加事件的处理程序。

RemovePreviewKeyUpHandler(DependencyObject, KeyEventHandler)

移除 PreviewKeyUp 附加事件的处理程序。

RemovePreviewLostKeyboardFocusHandler(DependencyObject, KeyboardFocusChangedEventHandler)

移除 PreviewLostKeyboardFocus 附加事件的处理程序。

附加活动

GotKeyboardFocus

在元素收到键盘焦点时发生。

KeyboardInputProviderAcquireFocus

在键盘输入提供程序获取焦点时发生。

KeyDown

当按下键盘上的某个键时发生。

KeyUp

当松开键盘上的某个键时发生。

LostKeyboardFocus

在元素丢失键盘焦点时发生。

PreviewGotKeyboardFocus

当元素正在获取键盘焦点时发生。

PreviewKeyboardInputProviderAcquireFocus

在键盘输入提供程序获取焦点过程中发生。

PreviewKeyDown

当按下键盘上的某个键时发生。

PreviewKeyUp

当松开键盘上的某个键时发生。

PreviewLostKeyboardFocus

当元素正在失去键盘焦点时发生。

适用于

另请参阅