c# 委托写法

来源:百度知道 编辑:UC知道 时间:2024/06/30 11:08:39
我有两个窗体f1和f2,f1是主窗体。f2中有个picturebox 我想写个代码当我点F2的picturebox的时候窗体F2会自动关闭然后自动执行一个f1里面的方法

这个很简单的,你点击按钮显示F2窗体的时候使用ShowDialog显示。

当你关闭 F2窗体之后 回来会继续执行下面的代码。至于你想调用方法或是
触发一些别的事情 都可以完成。

因为当代码碰到ShowDialog的时候 后面的代码就不会执行了,直到你关闭
窗体之后 后面的代码才会继续执行!

这个不用委托,把f1改成public,然后f2是定义一个f1 f=new f1();f1.方法;就可以了。

委托是多线程操作里面用的,你这个只需要将f1里面的那个方法设为pulibc并且在f2中添加一个全局变量FORM1 FORM,在构造函数中将f1的this复制给FORM,就可以用FORM来调用了

多个窗体之间的参数传递与数据共享(附:UML图)
http://hi.baidu.com/jonnysuen/blog/item/3bc66c3c1c67cbe73c6d9753.html

C#委托(Delegate)事件(Event)应用详解
http://hi.baidu.com/jonnysuen/blog/item/afbeec59416ada88810a1878.html

f1代码
{
f2 af2=new f2(null);
af2.ShowDialog();
//此处写关掉F2时要执行f1的方法;
}

f2代码
在picturebox 的onclick事件中
{
close();
}