7

WPF アプリケーションで Ctrl-C などの組み合わせが押されたことを検出したいと考えています。私がオンラインで読んだことは、KeyDown (または KeyUp) イベントで次のようなものを使用するように言っています:

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

これがどのように機能するかを理解しようとしています。私が理解しているように、 e.Key には、イベントをトリガーした押されたキーが含まれており、 Keyboard.Modifiers には、現在の Control キーの状態に関する情報が含まれています。KeyDown イベントが処理されるまでに Control キーがまだ押されていると想定しても安全ですか?

たとえば、Firefox を再起動すると、大量のタブを読み込むのが遅くなり、その間にアプリケーションで Ctrl-S を押します。KeyDown に到達するのに遅延があり、アプリケーションは S だけが押されたと認識します。

ありがとう

4

1 に答える 1

6

代わりに使用できますKeyBindings。これらは、そのような分離なしで完全なジェスチャを定義します。

于 2012-04-30T17:51:07.557 に答える