请问怎样在Winfrom中获取是否按下F1~F12功能键

解决方案 »

  1.   

    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
            {
                if(e.KeyCode == Keys.F10)
                {}
                else if(e.KeyCode == Keys.F11)
                {}
                .......
            }
      

  2.   

    在程序外吗?
    http://www.codeproject.com/csharp/globalhook.asp
      

  3.   

    #region [Enter]Form键盘按键事件
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
    {
    if(keyData == Keys.F10)
    {
    MessageBox.Show("组合快捷键测试...");
    } return base.ProcessCmdKey(ref msg, keyData);
    }
    #endregion
      

  4.   

    每个控件都有自己的KeyDown事件,如
    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
            {
                if(e.KeyCode == Keys.F10)
                {}
                else if(e.KeyCode == Keys.F11)
                {}
                .......
            }就可以了
      

  5.   

    在每个控件里面都添加KeyDown事件吗?
    没有简单的方法吗?