本人新手...故有此问form1 为主窗体 包括一个DataGridView控件,属性为public,名为dgv ,用来显示数据库内容form2 通过 form1 的一个按纽点击事件呼出 窗体内容是针对数据库的查询语句,如:select * from table where id=1;通过点击form2上的按纽,将结果显示在form1的dgv控件里问题:在form2的按纽点击时间中,我拿不到dgv,因为这个控件是非静态的,所以要通过对象事例才能拿到,如果form1.Designer.cs中 将dgv,定义为静态的话,系统帮我生成的大量代码就会发生诸如:无法使用实例引用访问静态成员.请问诸位大虾,如何通过form2的一个事件访问form1的dgv控件?

解决方案 »

  1.   

    窗体构造 把dgv做参数传给form2
      

  2.   

    委托也可以``在form1里写dgv的显示函数`在form2中委托调用``
    还有可以写form1的静态函数``form2调用``静态函数中调用dgv的时候先new下form1`再form1.dgv也可以
      

  3.   

    建议参考下面的文章,
    Windows窗体间的数据交互
    http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
    窗体的参数传递
    http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5