2010-11-08 107 views
7

我有两种形式Form1Form2从另一种形式

我从Form1button_Click

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

然后打开Form2我想回去Form1可见找回隐藏的表单(上布置Form2在我离开的控件的相同状态.....

回答

16

您的Form2不知道Form1的任何信息。这将需要对它的引用(你可以做到这一点通过Form2添加Form型物业和施工后分配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

+1这个想法,我个人会通过构造函数传递引用,但这只是同一颜色的两种不同的阴影。 :) – 2010-11-08 11:34:18

0

俄德的答案将会很好地工作,具有相同的结果的另一种选择会要在Form2中公开事件,例如“AfterClose”,在Form2处置时调用它,并让Form1添加事件处理程序以显示其自身。让我知道你是否感兴趣,我会给一些示例代码。

+0

我想在当前状态(隐藏时)从另一个窗体中显示hw 2隐藏窗体。 – 2012-12-10 16:31:34