Form1是父窗口,现在我在form1里面显示 Form2.
然后在form2里面想调用Form1的一个函数,
需要怎么调用?         
   Form2 Dlg = new Form2();
            Dlg.ShowDialog();
???

解决方案 »

  1.   

    form1 f1=new form1();
    f1.a;
      

  2.   

    new form2的时候把form1自己传进去 
    Form2 Dlg = new Form2(this); 
                Dlg.ShowDialog(); Form2构造函数
    public Form2(Form1 f)
    {
    this.form1=f;
    form1.Name="";
    //TODO
    }
    希望对你有帮助
      

  3.   


    这样调用的话,会不会导致这个新 new 出来的 from1 和父窗口不是同一个? 而是另外一个实例?
      

  4.   

    1:把this做为参数到到Form2中或为Form2添加一个属性来传递Form1以便对其操作。
       Form2 Dlg = new Form2(); 
       Dlg.ShowDialog(this); 2:在Form2中这样访问Form1
       
       if (this.Owner!=null)
       {
           (this.Owner as Form1).publicMethods();//可访问Form1的公开方法。
       }