public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private Form form1;
        private void button1_Click(object sender, EventArgs e)
        {
            if (form1 == null)
                form1 = new Form();
            form1.Show();        }        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show("you press the key " + e.KeyCode.ToString());
        }
    }
为什么按键没反应呢?高手帮忙了!

解决方案 »

  1.   

    窗体的KeyDown事件需要注册的吧???
            public Form1()
            {
                InitializeComponent();
                this .KeyDown += new KeyEventHandler(Form1_KeyDown);
            }
    然后应该就可以了
      

  2.   

    LZ的意思是button1点之后没有反应了吧.button1的tabStop设置为true.否则你的事件form捕获不到
      

  3.   

    注册肯定是注册了的,vs自动生成的代码。
    可能焦点没获取,如果把form1最大化,按Esc退出,怎么把焦点放到form1上?
      

  4.   

    刚才看了一下,确实放了个button,而且设置是true,没反应
      

  5.   

    谢谢,可以点击了button后,焦点又转移了。
    按理点击button后,捕捉按键应该可以撒?
      

  6.   

    各个控件都有Key_Down事件,可能只有截获系统消息了。
    或者网上说的hook,C#里也不知道如何实现?
      

  7.   

    C#不能实现全局hook 用C++做