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

问题描述 投票:8回答:2

我有两种形式Form1Form2

我在Form2打开Form1button_Click

Form2 obj2 = new Form2();
this.Visible = false;
obj2.Show();

然后我想回到Form1可见(处理Form2)在我离开的控制器的相同状态.....

c# .net winforms
2个回答
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();

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.