Windowsアプリケーションでキーの組み合わせ(たとえばControl-A
)を検出します。 KeyDown
イベントハンドラには、最後に押されたキーに関する情報があります。しかし、コントロールキーが押されているかどうかをどうやって調べることができますか?あなたが決定するためにCoreVirtualKeyStates.HasFlag(CoreVirtualKeyStates.Down)
を使用することができますユニバーサルWindowsアプリケーションでキーボード状態を取得する
9
A
答えて
17
はCtrlキーキーはこのように、押されたある -
Window.Current.CoreWindow.KeyDown += (s, e) =>
{
var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down) && e.VirtualKey == VirtualKey.A)
{
// do your stuff
}
};
+1
あなたの質問を正しく理解していれば、あなたのページの 'KeyDown'イベントを購読するのではなく、私の答えのように' Window.Current.CoreWindow.KeyDown'を購読してください。 –
+1
パーフェクト!どうもありがとう! – ispiro
6
あなたが焦点は、それは常にイベントをキャプチャしますここにかかわらず、AcceleratorKeyActivatedイベントを使用することができます。
public MyPage()
{
Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated += AcceleratorKeyActivated;
}
private void AcceleratorKeyActivated(CoreDispatcher sender, AcceleratorKeyEventArgs args)
{
if (args.EventType.ToString().Contains("Down"))
{
var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down))
{
switch (args.VirtualKey)
{
case VirtualKey.A:
Debug.WriteLine(args.VirtualKey);
Play_click(sender, new RoutedEventArgs());
break;
}
}
}
}
関連する問題
- 1. JavaFXでCapsLock状態を取得する
- 2. Androidでキャップロック状態を取得する
- 3. ユニバーサルWindowsアプリケーションのWindows Live SDKからリフレッシュトークンを受け取る
- 4. は、メディアプレーヤーの状態を取得するのWindows Phone 7
- 5. VB.NET他のアプリケーションからライブ状態を取得する
- 6. XMLHttpRequest状態を取得するJquery ajax
- 7. セッション状態を取得する方法
- 8. IPv6設定状態を取得する
- 9. VLCリモートコントロールインターフェイスプレーヤーの状態を取得する
- 10. Windowsアプリケーションの動作状態のテスト
- 11. オブジェクト状態の取得
- 12. Visual Basic.NETでスリープ状態/休止状態/起床イベントを取得する
- 13. Cでスレッドの状態を取得++ /窓
- 14. Windows 8.1の解像度を取得するユニバーサル
- 15. ポストバック間でのラジオボックス状態の取得
- 16. 状態の取得選択した国の状態のリスト
- 17. Windowsサービスがアイドル状態でシャットダウンする
- 18. バッテリー状態をJ2MEから取得
- 19. React:親コンポーネントの状態データを取得
- 20. iPhone/iPadワイヤレスキーボードの状態を取得
- 21. WPF Treeview - チェックボックスの状態を取得
- 22. WindowsのユニバーサルWindowsアプリケーションでメモリを扱う場合
- 23. アプリケーションの現在の状態を取得する方法はありますか?
- 24. Windowsアプリケーションでコントロール名を取得する
- 25. ユニバーサルWindowsプラットフォームでのアプリケーションの存在を検出する方法
- 26. VS2015ユニバーサルWindowsアプリケーションの出力でDirectXデバッグメッセージを有効にする
- 27. ユニバーサルWindowsアプリケーション内のバッジ通知
- 28. ユニバーサルWindowsアプリケーションと.NET Frameworkバージョンの関係
- 29. スタイル用のビジュアルステートセッターの設定ユニバーサルWindowsアプリケーション
- 30. ユニバーサルのWindows 10アプリケーションは、Visual Studio 2015
通常、あなたは 'KeyPressed == Control | A ' – kevintjuh93
@KevinKalありがとう。しかし、私はそれを試みました。それは「A」だけだった。 – ispiro
コントロールはシステムキーなので、別の方法でログに記録されます。どうしたのか分かりませんが、それはあなたが見ている問題です – rmn36