窗体调用控件问题?
有两个窗体:FrmMain,from2
FrmMain 上有个控件combox1
我想在from2上点按扭就可以在FrmMain上的combox1里添加内容。
我是这么做的,设置combox1的modifiers属性为public
FrmMain frm = new FrmMain();
frm.combox1.Text = "dfsfsfsfddfg ";
我这样写却不行,加上这句才行:frm.show();但这是显示窗体啊
应该怎么写才行?
------解决方案--------------------不懂,你主窗体不显示那你from2添加的东西要添加到哪去?
FrmMain frm = new FrmMain();
frm.show();
frm.combox1.Text = "dfsfsfsfddfg "
------解决方案--------------------FrmMain frm = new FrmMain();这是构建了一个新的对象,如果你原有FrmMain,当然不能更新。
如果你原来没有FrmMain,就是在这里第一次创建的话,那么就这样就可以了。
如果你原来有FrmMain,你要首先获得原来的对象,
FrmMain frm = Applications.OpenForms[ "FrmMain "];
这样再赋值就可以用Refresh更新了,注意,你的控件应该都是PUBLIC的,要去更改之后才能引用。
------解决方案--------------------窗体间通信:
http://topic.csdn.net/t/20041027/19/3497195.html
------解决方案--------------------那你就不要new FrmMain(),用个方法(构造函数,属性)把frmMain传给from2
或者由from2弹出事件给frmMain吧
------解决方案--------------------好久没来了……居然还没结贴?不会还没解决吧?
FrmMain frm = Application.OpenForms["FrmMain"];
错误 2 无法将类型“System.Windows.Forms.Form”隐式转换为“LightningForecast.FrmMain”。存在一个显式转换(是否缺少强制转换?)
那就强制类型转换一下啊
FrmMain frm = (FrmMain)Application.OpenForms["FrmMain"];