子窗体要传消息给母窗体-->在母窗体订阅子窗体的event
母窗体要传消息给子窗体-->在母窗体呼叫子窗体的公开方法
母窗体要传消息给子窗体-->在母窗体呼叫子窗体的公开方法
解决方案 »
- 【急】C# 中 如何获取 软件使用频率,时间等信息?就像控制面板中软件列表那样。
- 急!关于在2008中打开2005下开发的网站项目的问题.
- 急,高手请进
- delphi7---> delphi 2005 的问题
- 怎么样在WinForm中播放声音?
- DataGridViewComboBoxColumn列如何让其可录入编辑
- 请问一下怎么从后台CS类里调用前台JavaScript里的返回值!
- 谁能告诉我,需要由VB转到C#的理由..
- visual .net beta2安装错误!!!
- 做网络爬虫为什么不能捕获到表格和数据
- 有个问题始终不明白,希望大家帮助,我是个初学者,很简单的!谢谢!
- 在ListView加入TextBox
public static Form2 gForm2 = new Form2();
public static Form1 gForm1 = new Form1();
这样,可以自由访问他们。
不推荐。方法2:传递控制权。比如,让Form3控制Form2,From2 控制Form1
class Form3{
public Form2 _Form2;
} class Form2{
public Form1 _Form1;
}你只需要把对象传递进取就可以了。比如:
class Form1{
Form2 _Form2;
Form3 _Form3; public Form1(){
_Form2 = new Form2();
_Form2._Form1 = this; _Form3 = new Form3();
_Form3._Form2 = this._Form2;
} }
仍然不推荐。
简单的方法可以给子窗体实现同一个接口。
public interface IMdiForm
{
string key {get;}
}
public Form form1 : Form , IMdiForm
{
public string key
{
get{return "key1";}
}
}
父窗体里用
foreach ( IMdiForm imdi in this.MdiChildren)
{
((Form)imdi).close();
}子窗口调你窗口很简单this.mdiparent 就行了。
只要能操作各个窗口,交换数据就很轻松了。
子窗口调父窗口很简单this.mdiparent 就行了。
然后 form1.txtBox1.Text =""