使用dockpanel时,子窗体间的值传递

目的:在子窗体1(childFrm1)中,点击datavie的某一行,将在子窗体2(childFrm2)中的textbox显示对应的详细信息。

问题:由于使用了dockpanel,所以childFrm1和childFrm2都不是MDIChild窗体,但是,两者都是主窗体Form1的dockpanel中显示。为了使两者建立联系,通过Form1建立关系,是不错的选择,所以,改写childFrm1的构造函数为:
        Form1 here_f1;
        public childFrm1(Form1 f1)
        {
            InitializeComponent();
            here_f1 = f1;
        }

这样,就可以在childFrm1中获取Form1的各个方法(而且不是创建新的实例),所以可以很好的实现通过Form1 的某个方法来实现childFrm1改变childFrm2中textbox内容的目的。

(需要注意的是,childFrm1中的相应控件,比如textbox,的modifier应为public)

**dockpanel中主窗体的MDIContainer为true,但是各个子窗体不可以设置其MDIParent,否则会出现错误。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liubx733/archive/2009/12/01/4916605.aspx

posted @ 2009-12-01 20:03  gisbingxin  阅读(738)  评论(0编辑  收藏  举报