检测组合键

时间:2012-04-30 17:28:27

标签: wpf keyboard-input

我想检测何时在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已被按下。

由于

1 个答案:

答案 0 :(得分:4)

您可以使用KeyBindings代替他们定义完整的手势,而不需要这样的分离。