用事件回调,看一点我的代码
在Form1里面写一个方法,用来修改label
在Form2里面写:
public delegate void SetMainFormTopMostHandle(bool topmost);
public event SetMainFormTopMostHandle SetMainFormTopMost;
声明一个委托和事件
然后在f2.Show()打开f2之前,加一句:
Form2 f2 = new Form2 ();
f2.SetMainFormTopMost += new Form2.SetMainFormTopMostHandle(MainForm_SetMainFormTopMost);
f2.Show();
这里面MainForm_SetMainFormTopMost就是你用来修改label的方法(回调函数)
SetMainFormTopMostHandle、SetMainFormTopMost你自己写名字
大致就是为f2创建一个用来修改label的事件,然后把修改label的方法绑定到这个事件上,启动f2,在f2中执行这个事件,就是SetMainFormTopMost(true)这样写 (参数要和委托的那个声明一致)
那么就会调用F1中绑定的那个方法
f2.SetMainFormTopMost += new Form2.SetMainFormTopMostHandle(MainForm_SetMainFormTopMost);
这句最关键,你输入到+=之后,按两下Tab,他会自动给你生成回调函数