日期:2014-05-19  浏览次数:20663 次

多窗体编程的一个问题
本人新手...故有此问

form1   为主窗体   包括一个DataGridView控件,属性为public,名为dgv   ,用来显示数据库内容

form2   通过   form1   的一个按纽点击事件呼出   窗体内容是针对数据库的查询语句,如:select   *   from   table   where   id=1;通过点击form2上的按纽,将结果显示在form1的dgv控件里

问题:在form2的按纽点击时间中,我拿不到dgv,因为这个控件是非静态的,所以要通过对象事例才能拿到,如果form1.Designer.cs中   将dgv,定义为静态的话,系统帮我生成的大量代码就会发生诸如:无法使用实例引用访问静态成员.

请问诸位大虾,如何通过form2的一个事件访问form1的dgv控件?

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