keypress和keydown都没有反应,很怪
不知为什么。请看源码
       private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13)//如果是回车  打开窗口
            {
                Form Regform = new Form2();
                Regform.ShowDialog(); 
            }
       }

解决方案 »

  1.   

    你的Form上有控件, 此时焦点在这些控件上, 所以你的keypress和keydown都没有反应. 

      protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if(keyData==Keys.Enter)
                  {
                    Form Regform = new Form2(); 
                    Regform.ShowDialog();  
                   }
                return base.ProcessCmdKey(ref msg, keyData);
            }
      

  2.   

    我用的是KeyPress,不过判断条件写成if(e.KeyChar=='\r')
    你可以在这一句设个断点,看看是否确实引发了这个事件
    如果是不能引发事件的原因,可以将Form的KeyPreview属性设为true