是不是AcceptButton和CancelButton设置的问题

解决方案 »

  1.   

    当你form1 中 keypreview=true;时,出发了..button2_click(...)时间,
    换种方法捕获窗口中的所有回车键操作
    在窗口中加入如下代码
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message
    msg, System.Windows.Forms.Keys keyData)
    {
    if(keyData == Keys.Enter)
    {
    //窗口中所有回车键操作
    }
    }
    keypreview属性设置成默认false
      

  2.   

    是不是AcceptButton和CancelButton设置的问题?  什么意思?
    怎么用,请指点!
      

  3.   

    ---------------------------------------------
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message
    msg, System.Windows.Forms.Keys keyData)
    {
    if(keyData == Keys.Enter)
    {
    //没反应,不能在控件间移动
    }
    }
    --------------------------------------------
    源代码是这样的:form1:...form1_load(...)

      this.keypreview=true;
    }希望通过回车键移到下一控件
    ...form1_keydown(...)

     if(e.KeyCode ==Keys.Enter)
     { 
       SendKeys.Send("{TAB}+{HOME}") ;
     }
    }点击form1 中 button2 弹出 form2,不关闭form1
    ..button2_click(...)
    {
       form2 frm=new form2();
       frm.mdiparent=this.parentform;
       frm.show();
    }点击 form2 中 button1 关闭form2
    ... button1_click(..)
    {
        this.close();
    }
      

  4.   

    //重写ProcessCmdKey方法,用Enter键代替TAB键
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message
    msg, System.Windows.Forms.Keys keyData)
    {
    if(keyData == Keys.Enter)//通过回车键移到下一控件 {
    SendKeys.Send("{TAB}");
    return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
    }
      

  5.   

    这样所有button只能写回车事件了!谢谢!我已解决