从另一张FORM中取回隐藏的FORM

时间:2010-11-08 11:23:09

标签: c# .net winforms

我有两种表单Form1Form2

我正在Form2

上的Form1打开button_Click
Form2 obj2 = new Form2();
this.Visible = false;
obj2.Show();

然后我想回到Form1可见(处置Form2处于我离开的控件的相同状态.....

2 个答案:

答案 0 :(得分:18)

您的Form2Form1一无所知。它需要引用它(您可以通过在Form上添加Form2类型属性并在构建后为其分配Form1来实现此目的:

//In Form2
public Form RefToForm1 { get; set;}

//In Form1
Form2 obj2 = new Form2();
obj2.RefToForm1 = this;
this.Visible = false;
obj2.Show();

//In Form2, where you need to show Form1:
this.RefToForm1.Show();

答案 1 :(得分:0)

Oded的答案将完美地运行,具有相同结果的另一个选项是在Form2中公开名为“AfterClose”的公共事件,在Form2处理时调用它并让Form1添加事件处理程序以显示它自己。如果您有兴趣,请告诉我,我会提供一些示例代码。