你可以这样试试看,首先设置你的主窗体的TopMost属性为True
然后添加这两个事件,并且设置焦点控件为textBox1,这样能简单解决你的问题,但不知道适合你的情况,紧提供参考,http://www.guanmingle.com private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode==Keys.Enter)
{
textBox1_TextChanged(new object(), new EventArgs());
}
}
                private void textBox1_TextChanged(object sender, System.EventArgs e)
{
// MessageBox.Show("show");
Form2 fr=new Form2();
fr.Show();
this.textBox1.Focus();
}

解决方案 »

  1.   

    设一个公共变量 int count=0;
    每打开一个窗体则count++
    关闭则count--
    然后以此来决定回车后该执行哪个事件跟tabIndex没什么关系。。
      

  2.   

    都不是我要的结果,我仔细描述一下
    1。首先打开子窗口form1,form1中有textBox1, Button1
    2。然后让button1获得焦点
    3。切换到form1以外的任何其他子窗口--就是让form1失去焦点。
    4。切换回form1,此时焦点仍会在Button1(此时回车Button1_Click会响应)
    5。回车执行Button1_Click
    6。点击textBox1,在textBox1输入数据,textBox1的keypress事件会有响应
    但是回车却不行,回车执行的仍然是Button1_Click
    也就是说当回车时根本不会进textBox1_KeyDown,textBox1_KeyPress事件
    自然所有的判断也是无效的
      

  3.   

    你放两个Button后试试什么效果
    是不是在窗体上将这个Button1设置成了AcceptButton