【问题标题】:Detecting a key press检测按键
【发布时间】:2012-10-11 00:00:58
【问题描述】:

我目前正在检查程序中的键盘状态:

SlimDX.DirectInput.KeyboardState keyboardState = keyboard.GetCurrentState();

并像这样检测按键:

 if(keyboardState.IsPressed(SlimDX.DirectInput.Key.Q))...

我不知道如何检测任何按键,而不是特定按键。在浏览了 SlimDX API 文档后,我无法理解它。毫无疑问,我可能错过了一些非常简单的东西。

【问题讨论】:

  • 不是目标,而是平台。 Windows 我猜?为什么不使用正常形式的回调?

标签: c# keyboard keypress slimdx


【解决方案1】:

KeyboardState 类有一个 PressedKeys 只读属性,其中包含按下的键的 IList<Key>

您可以检查此列表是否为空,以了解没有按下任何内容 (kbd.PressedKeys.Count == 0)。

如果您想响应键盘事件并避免轮询模式(显式检查按键),您应该查看 SlimDX.RawInput 命名空间并使用按键事件处理,类似于 WinForms。

【讨论】:

    猜你喜欢
    • 2016-08-01
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2014-07-27
    • 2013-12-14
    相关资源
    最近更新 更多