我在編程c#GUI,我有2種形式。c#gui - 在表單之間導航
Form1
是我的主要形式,它有一個打開form2
的按鈕。
當點擊form1
中的按鈕時,我隱藏form1
,創建一個新對象form2
並顯示form2
。
我在form2
有一個後退按鈕。我希望此按鈕的行爲關閉form2
,並再次顯示隱藏的form1
。
我該怎麼辦?
我在編程c#GUI,我有2種形式。c#gui - 在表單之間導航
Form1
是我的主要形式,它有一個打開form2
的按鈕。
當點擊form1
中的按鈕時,我隱藏form1
,創建一個新對象form2
並顯示form2
。
我在form2
有一個後退按鈕。我希望此按鈕的行爲關閉form2
,並再次顯示隱藏的form1
。
我該怎麼辦?
讓您的form1
訂閱VisibleChange
事件form2
並採取相應行動。它將不得不「記住」form2
是否可見或隱藏(或直接查詢)。
的替代方案是:
你form2
需要form1
參考。
這可以通過多種方式完成 - 將它傳遞給構造函數參數,添加一個屬性併爲其分配form1
。
這兩種方式中的任何一種都會將這些形式緊緊地連接在一起(壞事)。
你試過
Form1.Visible = true;
Form1.Activate();
然後在Form1 VisibleChanged事件,你只要寫
Form2.Close();
有沒有'Activate'方法由'Form'類暴露,那另需'形式「作爲參數。 – ebb 2011-12-17 20:14:08
對不起,我寫了OnLoad事件,但我的意思是VisibleChanged事件,因爲你的表單已經加載,如果你只改變表單的可見性,它將不會執行該部分。 – phadaphunk 2011-12-17 20:14:21
Youre right @ebb我正在考慮'AddOwnedForm'方法,它並不完全用於相同的原因^^我會更新我的答案,謝謝 – phadaphunk 2011-12-17 20:16:28