我的主窗体Panl里调用了Form2,通过Form2调用了Form3(指定了Form3的父窗体为主窗体)显示在主窗体的Panl里。
现在需要Form2传递一个值到主窗体里、另一个值传递到Form3里。传递到Form3中没问题。可给主窗体里传递是,不能实例化主窗体,一实例化,无法直接通过主窗体里的TREEVIEW加载Form3.
   如何传递到主窗体里?
   刚开始弄,请高手指点啊。。  谢谢啦。。

解决方案 »

  1.   

    如何搞???  静态变量 ??
      在Form2中不把主窗体实例化就不能给主窗体赋值啊。。  
    可现在主窗体一实例化 Form3就显示不出来了。
      

  2.   

    在Form2中不把主窗体实例化就不能给主窗体赋值啊。。
    在主窗体里面写:
    Form2 frm2=new Form2(this);//将主窗体的对象放到Form2的构造函数里面一边在Form2中赋值给主窗体frm2.Show();   Form2里面写:
    FormMain frmMain;//主窗体对象
    public Form2(FormMain frm)
    {
      frmMain=frm;//到这里就得到了主窗体的对象了,所以也就可以通过frmMain操作主窗体了(比如赋值)
    }
      

  3.   

    构造函数依赖注入并不是什么好办法,利用事件 委托比较好Form1打开一个Form2,而Form2如何传递信息给主窗体Form1的问题,可以参考这个:http://topic.csdn.net/u/20110831/16/bbd83b30-1e5f-4d21-bde0-1604f88d8b32.html看1L的例子