很多时候,我们希望按“Enter”键就实现 类似“OK”的功能,不管当前的焦点在哪个控件上面。而按“Esc”就退出,也不管当前焦点在哪个控件上。请教!!

解决方案 »

  1.   

    设置form的AcceptButton为你的ok按键,设置form的cancelbutton为你的cancel按键。
      

  2.   

    如果没按钮的话(如果“希望按“Enter”键就实现 类似“OK”的功能,不管当前的焦点在哪个控件上面”的话似乎也只能解释为没有按钮),将form的KeyPreview设为true,
    最后form的keydown、keypress或keyup如下,看能否满足要求
    private void Form2_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.KeyCode==Keys.Enter)
    {
    this.DialogResult=System.Windows.Forms.DialogResult.OK;
    }
    else if(e.KeyCode==Keys.Escape)
    {
    this.DialogResult=System.Windows.Forms.DialogResult.Cancel;
    }
    }
    如果有按钮还是如愚翁所说将按钮设为OK button及Cancel butten比较方便