现有一个主窗体Form1,将其this.IsMdiContainer = true设为true,主窗体Form1有子窗体Form2设置MdiParent属性等于Form1,Form2又有子窗体Form3设置同样的MdiParent。我的问题是:Form2怎么得到Form3传回的值附加:是有N个页面要调用Form3,所以精良不要每个都要判断

解决方案 »

  1.   

    每次关掉form3 都new一个form2 把值传进去
      

  2.   

    现在是怎么往Form2中传值
      

  3.   

    幾種WinForm的Form與Form之間的傳值方法 
    http://www.dotblogs.com.tw/jeff-yeh/archive/2010/01/04/12799.aspx
      

  4.   

    form2生成一个单例,用一个函数把对form2的赋值操作封装起来,每次要调用的时候,直接调用。
      

  5.   

    在 form3 添加 一个共有属性,就可以调用了 
      

  6.   

    1、委托
    2、静态变量 static
    3、new Form("参数");
      

  7.   

    定义Form3的时候,增加几个属性就可以了,要显示Form3之前,给这几个属性赋值。
      

  8.   

    form2:
    form3 fr3=new form3();
    if(fr3.showDialog==true)
    {
     fr3.name;
    }form3:
     string name="123";
     this.DialogResult=true;    这样都form2页面中都可以得到form3中name的值
      

  9.   

    定义Form3的时候,增加几个属性就可以了,要显示Form3之前,给这几个属性赋值。
    #10 楼正确。
    楼主不能再以vb6时代地思路来写.net程序了。
    C# 沿袭了 java 的思想,一切都是类,包括Form窗口也是类,用之前需要先定义。
      

  10.   

    至于传值的问题很多方法可以实现,函数传递对象引用,构造函数传递对象引用都可以,实在不行,this.Owner也可以,