2013-07-07 52 views
3

我有列表框中的數據列表的主要形式。在按鈕上單擊我打開新窗體來創建新數據對象(主窗體在後臺不活動),當提交新數據時,主窗體中的列表框應該填充新對象。從其他類找到表單實例

我想以下幾點:

  1. 當窗體2被提交我的想法是找到MainForm的實例,並殺死實例之後,它應該很容易,負荷再次從數據庫,並顯示數據的列表列表框。

的問題是:

如果Form1中創建和一些事件的Form2進行實例化的ShowDialog所以Form1上,直到數據提交如何找到Form1中實例的Form2關閉前是無效的?

再次,如何從Form2類中找到Form1類的實例?

感謝

+0

你看過'Application.OpenForms'嗎? –

+0

nope :)我會.. – panjo

回答

27

通過使用Application.OpenForms屬性,您可以獲得對任何應用程序當前打開的表單的引用。在此FormCollectionForms可以通過索引像這樣來訪問:

Form form1 = Application.OpenForms[0]; 

或窗體的Name屬性,像這樣:

Form form1 = Application.OpenForms["Form1"]; 

希望這有助於。