onKeyDown函数用来相应按键消息,就是说某个键一按下就执行响应函数,但是如果我想询问当前时刻键盘的某个键是否被按下,应该用什么办法?

解决方案 »

  1.   

    你的意思是在按键事件的处理函数里面作比较吧?但问题是我现在不希望每次按键事件发生的时候都去判断,而是在某一个时刻,我的代码主动去“询问”某个按键是否被按下,就类似于windows编程的时候KeyIsDown()宏还是函数那样。
      

  2.   

    你的是windows程序还是web程序?
      

  3.   

    你找windows api一个获取热键状态的api函数,直接用那个就可以
      

  4.   

    你可以在TextBox中
    private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    textBox1.Text = e.KeyValue.ToString();
    }
    这样你就可以看到当前是哪个键被按下,同时也可以看到该键所对应的键值。
    如果知道当前时刻键盘的某个键是否被按下,可以用他的键值跟按下键的键值对比
    做个判断就可以了。
      

  5.   

    这不就是监听键盘事件onKeyDown  ,然后比较是否为你要检查的那个键 e.KeyValue = ...
      

  6.   

    其实这里有主动和被动的不同,侦听onKeyDown 事件属于被动地知道某个按键是否被按下,而如果有一个类似于KeyIsDown的函数的话,就是一个主动询问某个按键是否在该时刻被按下。