"激活"关闭我的第二个表格时的表格

时间:2014-11-25 06:46:34

标签: c# winforms forms

我用两种形式创建一个简单的应用程序。从我的主表单我可以点击一个按钮开始我的第二个表单,这就像我不喜欢的那样。但是当我关闭第二个表单时,我的主表单没有被激活,我必须单击表单中的某个位置才能点击任何其他按钮。

现在有人如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以在关闭子表单后尝试主表单上的Form.Activate Method 激活表单并将其设置为焦点

答案 1 :(得分:0)

我是这样做的。 如果您使用showModal打开子表单,可以尝试:

private void btnOpenWindows_Click(object sender, EventArgs e)
{
       Form2 f = new Form2();
       f.Caller = this;
       f.ShowDialog();



       this.textBox1.Focus();
}

当执行f.ShowDialog();控件传递给Form2并且调用者被禁用时。(*添加传递它作为参数可以对Form父进行操作。

当您关闭Form2执行从this.textBox1.Focus();恢复时,表单父亲处于活动状态。

*在添加时,您希望通过Form2在Form1中操作,您可以在Form2中创建Form1的属性

public partial class Form2 : Form
{
       public Form1 Caller = null;

       public Form2()
       {
           InitializeComponent();
       }



       private void btnTest_Click(object sender, EventArgs e)
       {
            //Set textBox1 modiefer public 
            Caller.textBox1.Text = "Hello Word";
       }

       private void Form2_FormClosed(object sender, FormClosedEventArgs e)
       {
           //TODO
       }

       private void Form2_FormClosing(object sender, FormClosingEventArgs e)
       {
           //TODO

       }
}