关于利用委托实现两个窗体互相调用方法
有A、B两个窗口,A窗口中有一个按钮和一个方法,A中的方法需要使用B窗口返回的数据
1、单击A窗口中的按钮打开B
2、B关闭时执行A窗口中的事件
需要用委托来完成,不能使用showdialog(),B窗口打开是非模式的(Show()),最好是能应用到多个窗口,比如C窗口也有按钮和事件,也需要打开C窗口执行同上的操作。
[解决办法]
代码可以这样写,注册窗体的 FormClosed 事件
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