private void txtTest_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
 if(e.KeyChar==(char)Keys.Enter)
 {
  SendKeys.Send("{TAB}");
  e.Handled = true;
 }}

解决方案 »

  1.   

    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
    {
    if(msg.WParam.ToInt32() == (int) Keys.Enter && !(this.ActiveControl  is Button))
    {
    SendKeys.Send("{Tab}");
    return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
    }
      

  2.   

    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
            Dim WM_KEYDOWN As Integer = 256
            Dim WM_SYSKEYDOWN As Integer = 260
            If ((msg.Msg = WM_KEYDOWN) Or (msg.Msg = WM_SYSKEYDOWN)) Then
                Select Case keyData
                    Case System.Windows.Forms.Keys.Enter
                        If Not (TypeOf (Me.ActiveForm.ActiveControl) Is Button) Then
                            System.Windows.Forms.SendKeys.Send("{Tab}")
                            Return True
                        End If
                End Select
                Return MyBase.ProcessCmdKey(msg, keyData)
            End If
            Return MyBase.ProcessCmdKey(msg, keyData)
        End Function变通一下吧
      

  3.   

    比如你有一个TextBox1,想回车后跳到TextBox2就在TextBox1的KeyUp事件里写
    if(e.KeyCode == Keys.Enter)
    {this.TextBox2.Focus();}