非静态方法的调用问题? 非静态方法的调用问题?我现在在FrmMain上有一个非静态的方法initLv_obj,我在另一个窗体里不用new FrmMain要怎么去调用?注:不用new 的原因是因为用了后会再次重绘FrmMain. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 除非你在FrmMain里的构造函数里写了绘制FrmMain的代码否则New的时候怎么可能重绘如果你的另一个窗体是在FrmMain中创建的那么initLv_obj可以使用委托传到另一个窗体中并且调用的时候保证FrmMain不能关闭否则 就不知道了 或许使用反射也能搞定也说不定 如果又不能new那你就把这个方法单独做在一个类里面大家都调用new也就new这个类 Form1: public static Form1 fm1; public Form1() { InitializeComponent(); fm1 = this; Form2 fm2 = new Form2(); fm2.Show(); } public initLv_obj() { ................ }--------------------------------------------------------- Form2: Form1.fm1.initLv_obj() 请参考:愚翁专栏 ---主窗体和子窗体之间如何相互操作对方的控件 把FrmMain的对象的指针this传给另外的窗体就好了。 方法该为PUBLIC,在另外一个窗体调用就可以了,或者写个委托 想求一套C#的视频教程. 泛型类型不定的情况下,怎么写?List<T> ,T不定 RadioButtonList获取选中值 一个关于数据绑定的问题 ZedGraph控件画图的问题 Sockets 文件传送问题,高手帮看下代码,谢谢了! 可不可以从datatable中选出某一列不重复的数据。 winform 显示 Gif动画 关于未使用的变量编译不过去的问题 一个关于DataGrid的问题!(急!!) 关于反射的问题:Type.InvokeMember如何获取在父类的属性 如何让combobox 显示格式为[ID]NAME
否则New的时候怎么可能重绘如果你的另一个窗体是在FrmMain中创建的
那么initLv_obj可以使用委托传到另一个窗体中
并且调用的时候保证FrmMain不能关闭否则 就不知道了 或许使用反射也能搞定也说不定
那你就把这个方法单独做在一个类里面
大家都调用
new也就new这个类
public static Form1 fm1;
public Form1()
{
InitializeComponent();
fm1 = this;
Form2 fm2 = new Form2();
fm2.Show();
}
public initLv_obj()
{
................
}
---------------------------------------------------------
Form2:
Form1.fm1.initLv_obj()
请参考:愚翁专栏 ---主窗体和子窗体之间如何相互操作对方的控件