我正在使用WinForm應用程序。我有幾個表單。我希望能夠從任何兒童形式訪問我的主窗體。我能夠通過自定義按鈕功能來完成此操作,並捕獲Form_Closing事件。我有一個問題,但我會在下面解釋。從任何子窗體訪問現有的主要winform實例
主窗體上的代碼如下:
ChildForm form = new ChildForm(); // Create new Child Form instance
form.Show(); // Show Child form
this.Hide(); // Hide Main form
使用 「this.Hide();」意味着主窗體仍然存在於內存中,並且仍在工作,它只是隱藏而已,這正是我想要的。
子形式
MainForm form = new MainForm(); // Create new Main Form instance
form.Show(); // Show Main Form
this.Close(); // Close Child Form
上的代碼這當然除了我的第二碼塊(子窗體正上方),代碼的第一行中,將創建的主要形式的一個新實例。這是我的問題,我不想創建該表單的新實例,我想要顯示已經存在的隱藏實例(我隱藏在上面第一個代碼塊中的主表單)。
我嘗試以下代碼兒童形式:
this.Parent.Show();
但我得到此運行時錯誤消息: 「System.NullReferenceException了未處理:消息=對象引用不設置爲一個對象的一個實例」 。
我明白錯誤是什麼意思,我只是沒有創建一個對該主表單的引用或者如何以任何形式引用它的代碼。
請提出任何提示?
提前感謝。
通過形式參考通過構造函數'form2(IWin32Window parent)' – Sayse