目的:在form1定义一个方法,想通过委托把form1的方法传递到form2里面,在form2使用这个方法
1 添加一个跳转按钮 跳转到form2窗体 对应button1_click
2 定义一个要传递的方法 对应的ChangeBack方法
3 在Form2 定义一个委托类型接受changeBack方法 ,再定义一个委托类型的变量form2的c1
ChangeBack 传递到Form2里面 改变窗体的背景颜色
c参数传递颜色, f1传递窗体
c1 = ChangeBack
在Form2里面定义委托类型及委托变量
public MyColor c1;// c创建一个委托类型的变量 目的是把方法赋值给他
public delegate void MyColor(Form f1, Color c); // 定义委托类型
4 开始form2的c1赋值,把changeBack赋值给c1,在跳转的时候通过对象.c1进行赋值, f.c1 = ChangeBack;
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();// 创建form2对象
f.c1 = ChangeBack;
f.Show();// 展示窗体
}
5 验证在form2 调用c1, c1(传递颜色);在form2的load事件进行调用
运行结果如下
点击按钮跳转到Form2