次の方法で共有


InputKeyboardSource クラス

定義

現在のスレッドのキーボード入力を処理します。

public ref class InputKeyboardSource abstract sealed
public ref class InputKeyboardSource sealed : InputObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputKeyboardSource final
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputKeyboardSource final : InputObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class InputKeyboardSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InputKeyboardSource : InputObject
Public Class InputKeyboardSource
Public NotInheritable Class InputKeyboardSource
Inherits InputObject
継承
Object Platform::Object IInspectable InputKeyboardSource
継承
Object Platform::Object IInspectable InputObject InputKeyboardSource
属性

次の例は、 ContentIsland から Esc キーを押した場合に応答する方法を示しています。

class RespondToKeyDown
{
    InputKeyboardSource myInputKeyboardSource;

    public RespondToKeyDown(Microsoft.UI.Content.ContentIsland island)
    {
        myInputKeyboardSource = InputKeyboardSource.GetForIsland(island);
        myInputKeyboardSource.KeyDown += OnKeyDown;
    }

    void OnKeyDown(
        InputKeyboardSource sender,
        InputKeyboardSourceEventArgs args)
    {
        if (args.VirtualKey == Windows.System.VirtualKey.Escape)
        {
            System.Diagnostics.Debug.WriteLine("Escape key was pressed.");
            CancelCurrentOperation();
            args.Handled = true;
        }
    }
}

メソッド

GetCurrentKeyState(VirtualKey)

現在の時点で指定された仮想キーの状態を取得します (入力キューに未処理のメッセージが含まれている場合は、現在処理中の入力メッセージの後にある可能性があります)。

GetForIsland(ContentIsland)

指定した InputKeyboardSourceContentIsland のオブジェクトを取得します。

GetKeyState(VirtualKey)

現在処理中の入力メッセージの時点での指定された仮想キーの状態を取得します (入力キューに未処理のメッセージが含まれている場合は、過去である可能性があります)。

GetKeyStateForCurrentThread(VirtualKey)

現在の入力メッセージ (現在のスレッド) の時点で指定された仮想キーの状態を取得します。

イベント

CharacterReceived

入力キューで新しい文字を受信したときに発生します。

ContextMenuKey

Menu 仮想キー (または Shift + F10) が前KeyDownのイベントからハンドルされない場合に発生します。

KeyDown

Alt キーも押されていないときに、ユーザーがキーを押したときに発生します。

KeyUp

Alt キーも押されなかったときに押されたキーをユーザーが離したときに発生します。

SystemKeyDown

Alt キーも押されたときに、ユーザーがキーを押したときに発生します。

SystemKeyUp

Alt キーも押されたときに押されたキーをユーザーが離したときに発生します。

適用対象