两个窗体,一个主,一个从.在主窗函数中得到的三个变量,如何传给从窗体的三个label中.....
另:判断一个窗体有没有打开,用哪个方法?

解决方案 »

  1.   

    重载FORM2的构造函数,加3个参数进去就行了,
    在SHOW FORM2的时候,看变量是不是为NULL 值
      

  2.   

    设置代理(Delegate),进行窗体传值
      

  3.   

    public Form2()
    {
        InitializeComponent();
    }public Form2(string s)
    {
        MessageBox(s);
    }
      

  4.   

    1、主窗体这里实例化一个你的从窗体:
    Form2 newForm = new Form2(X,Y,Z);
    newForm.ShowDialog();
    2、在从窗体中定义3个变量
    private 变量类型 x;
    private 变量类型 y;
    private 变量类型 z;
    3、在从窗体构造函数那
    public Form2(变量类型 X,变量类型 Y,变量类型 Z)
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent();
    x = X;
                               y = Y;
                               z = Z;
    //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    //
    }
    4、
                       public 变量类型 XVALUE
    {
    get
    {
    return x;
    }
    set
    {
    x = value;
    }
    }
    y,z也这样。
      

  5.   

    主窗体调用从窗体时:
    new form2().SetLable(s1,s2,s3);
    从窗体增加方法;
    public void SetLable(string s1,string s2,string s3)
    {
         this.lable1.text=s1;
         this.lable2.text=s2;
         this.lable3.text=s3;
    }
    判断一个窗体是否打开,我觉得在打开窗体时可以用ShowDialog()不用show()
      

  6.   

    一种办法是在从窗体中定义3个全局变量
    public string a,b,c;
    然后在主窗体中在传值的时候加下面的代码
    ChildForm cf=new ChildForm();
    cf.a=变量1;
    cf.b=变量2;
    cf.c=变量3;
    最后从窗体中就可以用a,b,c的值了
    label1.text=a;
    label2.text=b;
    label3.text=c;
      

  7.   

    mafgm(反革命)按你的方法,值是已经有了,可是就是显示不出来!!
      

  8.   

    我知道C#的可以在一个窗体里设置一个静态变量 要取的时候就在另外一个窗体里写代码 窗体名.静态变量名就可以了
     form1里  public static int b;
     form2里  int a = form1.b;
      

  9.   

    定义一个bool变量 在show()或是close()之后改变这个变量
      

  10.   

    1.可以用窗体2的构造函数
    2.可以用设置窗体1static 属性,在窗体2中读
      

  11.   

    用事件。
    参考observer模式。
    自定义事件参数,把变量封装在参数中传
      

  12.   

    其实我的目的很简单!!就是在FORM2点击按纽后,在FORM1的MOUSEDOWN事件里面将获得的X,Y坐标值显示在从窗体的两个Lable里面.有没有直接引用FORM2窗体的方法!
      

  13.   

    为什么Lable有值了,但就是显示不出来!