如何从停靠表单访问数据?

时间:2010-10-22 13:30:19

标签: c# docking

我在我的应用程序中使用http://sourceforge.net/projects/dockpanelsuite/作为对接控件,我添加了一个表单作为对接容器,从中我需要从主窗体中访问一个字符串。我只是乱搞,看看我是否可以使用(所有者作为MainWindow)加载它,但它不起作用。

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

我总是在第一行“对象引用未设置为对象实例”时出错。有没有办法可以从停靠的表单中访问字符串str(它是一个公共字符串btw)?

如果不清楚,请告诉我。

1 个答案:

答案 0 :(得分:0)

创建此表单(对接容器)时传递MainForm的引用。 e.g。

在停靠容器中添加构造函数:

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

因此您可以在创建时将MainForm引用传递给此表单:

dockingContainerForm dcForm=new dockingContainerForm (ref this);

并使用GUImainform访问此停靠窗体内的MainForm。