比如说现在有两个form:frm1,frm2
在frm1上有一个button1,还有一个自己写的方法filldbgrid();
在frm2上有一个button2,问题如下:
在frm1的button1.click事件中:
    frm2 frm=new  frm2();
    frm.showdialog();
我想在frm2的button2.click事件中,执行frm1.filldbgrid()怎么实现?

解决方案 »

  1.   

    把方法filldbgrid()声明为public
    frm1 frm1=new  frm1();
    调用frm1.filldbgrid()
      

  2.   

    将form1的引用传到form2里面。
    可以利用构造方法也可以使用方法或者属性。
      

  3.   

    这么说吧:
    在frm1的button1.click事件中:
        frm2 frm=new  frm2();
        frm.showdialog();
    我想在frm2的button2.click事件中,执行frm1.textbox1.text="hello world"怎么实现?
    注意:当前frm1.textbox1.text中的frm1是已经实例化frm1的对象,而且是已经显示出来的
      

  4.   

    可以把自已写的方法定义成静态公有成员,然后直接在form2中通过类form2调用
      

  5.   

    把filldbgrid声明为public在frm1的button1.click事件中:
    frm2 frm=new  frm2(this);
    frm.showdialog();frm2:
    private frm1 m_frm;
    //构造函数
    public frm2(frm1 frm)
    {
       m_frm = frm;
    }
    frm2的button2.click事件中:
    m_frm.filldbgrid();
      

  6.   

    frm1:
    把filldbgrid声明为public在frm1的button1.click事件中:
    frm2 frm=new  frm2();
    frm2.m_frm = this;
    frm.showdialog();frm2:
    public frm1 m_frm;frm2的button2.click事件中:
    m_frm.filldbgrid();
      

  7.   

    借用楼上,
    把filldbgrid声明为public在frm1的button1.click事件中:
    frm2 frm=new frm2(this);
    frm.showdialog();frm2:
    private frm1 m_frm;
    //构造函数
    public frm2(frm1 parent)
    {
    m_parent = frm;
    }
    frm2的button2.click事件中:
    m_parent.filldbgrid();
      

  8.   

    面对楼上几位,真的无语.CSDN真的不行了!!!