2012-04-30 17 views
5

WPFアプリケーションでCtrl-Cなどの組み合わせが押されたときを検出したいと思います。私はちょうどこの仕組みを理解しようとしていキーの組み合わせを検出する

if ((Keyboard.Modifiers == ModifierKeys.Control) && (e.Key == Key.S)) 
{ 
    MessageBox.Show("Save!"); 
} 

:私はオンライン読んだことはKeyDownイベント(またはkeyUpイベント)イベントに次のようなものを使用することを言います。私が理解しているように、e.Keyにはイベントを発生させたキーが含まれ、Keyboard.Modifiersにはの状態に関する情報が含まれています。 KeyDownイベントが処理されるまでにControlキーがまだダウンしていると想定するのは安全ですか?

たとえば、Firefoxを再起動すると、たくさんのタブの読み込みが途絶えてしまいます。その間に私のアプリケーションでCtrl-Sを押します。 KeyDownに入るのに遅れがあり、アプリケーションはSが押されたと考えます。

あなたが代わりにKeyBindingsを使用することができ感謝し

答えて

3

、彼らはこのような分離せずに完全なジェスチャーを定義します。

関連する問題