两个form,  
其中 form1 中
form2 fm=new form2(this);
fm.ShowDialog();打开form2 后,在form2 中如果调用form1中的一个方法?

解决方案 »

  1.   

    did you save form1?class form2 : Form
    {
      form1 f;
      public form2 (form1 f)
      {
          this.f = f;
      }  //call f's method:
      f.SomeMethod();
    }
      

  2.   

    form2 fm=new form2(this);
    fm.ShowDialog();在form2 中
    private form1 frm1=new form1();
    在构造函数中将this赋给frm1.
    就可以用frm1调用你需要的方法了.
      

  3.   

    you can add a event which defined in form1 in form2,like 
    from1:
    public void F1()
    {
        // add the code here
    }form2:
    public void F2()
    {
        // add the code here
    }
    form2:
    form1 f=new form1();
    f.F1+=new EventHandler(F2);
      

  4.   

    建议首先在from2中添加public 全局变量或公共函数,form1中传调用form2时首先将值传给form2
    form2 fm=new form2();
    //调用form2的公共函数取值,或者将值赋给公共变量
    fm.ShowDialog();
      

  5.   

    yistudio(绿荫) 方法好强!佩服的一塌糊涂。
      

  6.   

    http://blog.csdn.net/web_gus/archive/2005/01/24/265706.aspx
      

  7.   

    如果我form1的名字是不定的,就是说动态的,怎么办?
    !!!!!!!!!!!!!!!!!!!!!!!!!!!
    可能是form1 调用 form2
    也可能是 form3 调用 form2  ,都有可能
    总不能写死吧
      

  8.   

    http://blog.csdn.net/web_gus/archive/2005/01/24/265706.aspx
      

  9.   

    仅供参考
    http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
    http://blog.csdn.net/zhzuo/archive/2004/04/05/22028.aspx
    http://blog.csdn.net/zhzuo/archive/2004/04/05/22029.aspx