2010-11-08 179 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