2010-10-22 18 views
0

我在我的應用程序中使用http://sourceforge.net/projects/dockpanelsuite/作爲停靠控件,我已經添加了一個表單作爲停靠容器,並且從中我需要從主窗體訪問一個字符串。我只是亂搞,看看我是否可以使用(所有者作爲MainWindow)加載它,但它沒有工作。如何從停靠表單訪問數據?

 for (int i = 0; i < (Owner as MainWindow).str.Count; i++) 
     { 
      MessageBox.Show("A"); 
     } 

我總是在第一行「對象引用未設置爲對象的實例」時出現錯誤。有沒有什麼辦法可以從停靠的窗體訪問字符串str(這是一個公共字符串順便說一句)?

如果不清楚,請讓我知道。

回答

0

當您創建此表單(您的對接容器)時,傳遞MainForm的引用。 例如

在對接容器中添加一個構造函數:

MainForm GUImainform; 
public dockingContainerForm(ref MainForm mymainform) 
{ 
    GUImainform=mymainform; 
} 

,所以你可以通過MainForm的裁判這種形式的創建時間:

dockingContainerForm dcForm=new dockingContainerForm (ref this); 

和訪問與GUImainform這種對接形式裏面你的MainForm。

+0

咦?你能解釋一下你的意思嗎?我不太明白.. – david 2010-10-22 13:44:49

+0

@David:已更新。 – Bolu 2010-10-22 13:51:30

+0

很酷,感謝信:) – david 2010-10-22 14:15:36