呵呵,最好的办法就是你从Combobox继承一个新的类的,在这里也加一个处理.
不一定是这一个控件,有很多的控件都有这个问题,如果你在窗体里实在处理不好那就继承一个就是了,
还可以把一些常用的方法属性等一起包到你的新类里,这样以后可以重复多次轻易的使用了,很好的啊.

解决方案 »

  1.   

    private void FrmLogin_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            this.GetNextControl(this.ActiveControl, true).Focus();
            e.Handled = true;
         }
    }
      

  2.   

    可以啊,我这样做的,
    先写一个事件:
    private void M_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.KeyCode==Keys.Enter ) 
    {
      SendKeys.Send("{TAB}"); }然后把textBox、checkBox、comboBox...等的KeyDown事件都设成M_KeyDown
      

  3.   

    在KeyPress事件里:if (e.KeyChar == (13))
    {
        this.comboBox1.Focus();
        this.comboBox1.SelectAll();
    }
      

  4.   

    重写ProcessCmdKey事件,
    代码如下:
      protected override bool ProcessCmdKey(ref Message msg,Keys keyData)
      {
       if ( (!(ActiveControl is Button)) && (keyData==Keys.Up || keyData==Keys.Down || keyData==Keys.Enter))
       {
        if(keyData == Keys.Enter)
        {
         System.Windows.Forms.SendKeys.Send("{TAB}");
         return true;
        }
        if(keyData==Keys.Down )
         System.Windows.Forms.SendKeys.Send("{TAB}");
        else
         SendKeys.Send("+{Tab}");
        return true;
       }
       else
        return base.ProcessCmdKey(ref msg,keyData);
      }
    这个事件完成的是,除了Button(按钮)以外,当前窗口上的所有控件,都可以用Enter代替Tab:)