【问题标题】:Detecting key combinations检测组合键
【发布时间】:2012-04-30 17:28:26
【问题描述】:

我想检测何时在 WPF 应用程序中按下 Ctrl-C 之类的组合。我在网上看到的内容是在 KeyDown(或 KeyUp)事件中使用类似以下内容:

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

我只是想了解它是如何工作的。据我了解,e.Key 包含触发事件的按下键,Keyboard.Modifiers 包含有关现在控制键状态的信息。假设在处理 KeyDown 事件时 Control 键仍处于关闭状态是否安全?

例如,我重新启动 Firefox,它会逐渐加载一堆标签,同时我在我的应用程序中按了 Ctrl-S。到达 KeyDown 有延迟,应用程序认为只是按下了 S。

谢谢

【问题讨论】:

    标签: wpf keyboard-input


    【解决方案1】:

    您可以改用KeyBindings,它们定义完整的手势而没有这种分隔。

    【讨论】:

      猜你喜欢
      • 2010-11-09
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      相关资源
      最近更新 更多