如何让IsKeyDown方法在C#中工作

时间:2012-10-20 01:39:55

标签: c# winforms methods input

我无法弄清楚如何让这种方法起作用:

System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key)

对象浏览器说明如下:

  

public static bool IsKeyDown(System.Windows.Input.Key key)
  System.Windows.Input.Keyboard的成员
  的总结:
  确定是否按下了指定的键   的参数:
  key:指定的键。
  返回值:
  如果key处于down状态,则为true;否则,错误。

好的,所以它是键盘的成员,对吧?我使用了以下代码: 键盘测试=新键盘();

但是当我输入测试然后输入点时,IsKeyDown不是一个选项。唯一的选项来自Windows.Forms成员。我在这里错过了什么?感谢。

2 个答案:

答案 0 :(得分:5)

添加PresentationCore.dll程序集作为参考。

添加WindowsBase.dll程序集作为参考。

测试代码:

private void buttonMisc_Click(object sender, EventArgs e)
{
    if (System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key.LeftShift) == true)
        MessageBox.Show("Got it!");
}

答案 1 :(得分:4)

IsKeyDown是静态的,因此您需要像

一样使用它
Keyboard.IsKeyDown()

不使用实例化对象。

您还需要确保在顶部有正确的使用声明:

using System.Windows.Input;

修改

进一步检查时,键盘是一个静态类...所以你不能Keyboard test = new Keyboard();