C# onKeyDown的问题?
问题描述:
一个TextBox框,怎样检测到按下回车键时结束编辑模式(也可以激活下一个控件,但是下一控件不确定是什么)

解决方案 »

  1.   

        public Form1()
        {
            InitializeComponent();
        }    protected override bool ProcessDialogKey(Keys keyData)
        {
            if (keyData == Keys.Return)
            {
                Control c = ActiveControl;
                if (c != null && c is TextBox)            // 只对TextBox有效,可改动以针对其他控件。
                {
                    c = GetNextControl(c, true);          // 只向下走,可改动为循环激活。
                    if (c != null) return c.Focus();
                }
            }
            return base.ProcessDialogKey(keyData);
        }
      

  2.   

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode == Keys.Enter)
       {
          Control control=this.GetNextControl(textBox1,true);//找下一个控件
    if(control!=null)
    {
    control.Focus();//让找到的控件获得焦点
    }
       }
    }
      

  3.   

    谢谢二位,刚刚想更好的办法,因为问题的核心是结束编辑状态,让它失去焦点就可以了
    我直接用 控件.parent.focus()就搞定了