2010-10-22 42 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