首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于利用嘱托实现两个窗体互相调用方法

2012-07-27 
关于利用委托实现两个窗体互相调用方法有A、B两个窗口,A窗口中有一个按钮和一个方法,A中的方法需要使用B窗

关于利用委托实现两个窗体互相调用方法
有A、B两个窗口,A窗口中有一个按钮和一个方法,A中的方法需要使用B窗口返回的数据
1、单击A窗口中的按钮打开B
2、B关闭时执行A窗口中的事件

需要用委托来完成,不能使用showdialog(),B窗口打开是非模式的(Show()),最好是能应用到多个窗口,比如C窗口也有按钮和事件,也需要打开C窗口执行同上的操作。

[解决办法]
代码可以这样写,注册窗体的 FormClosed 事件

C# code
frmB B = new frmB();B.MdiParent = this.MdiParent;B.FormClosed += (sender, e) =>{    frmB fb = (frmB)sender;    // 访问 fb 的字段属性方法    MessageBox.Show("B窗口已关闭!");};B.Show();
[解决办法]
FormB b = new FormB();

b.FormClosed += (s, e) =>
 {
string data = b.Data; // 获取B的数据
AMethod(data); // 将B的数据用来调用方法
 }
[解决办法]
http://topic.csdn.net/u/20110407/19/c1068d69-7331-4d02-bc0b-f5ba7a5f8dd8.html

热点排行