先说有两个窗体。窗体1--主窗体,窗体2.。
业务需求:通常是要在窗体1的一定位置显示窗体2,那么传递值就有两个方向。
即form1---->form2.或者form2---->form1.
form1------>from2:
这种情况呢比较灵活。可以给form2窗体的构造函数传递参数 form2 f2=new form2(string a,string b).或者是得到了form2的实例对象以后,用form2的某个属性在form1代码中接受参数.f2.str=this.str;f2.int=this.int;这就是窗体传值的第一个环节。通常呢需要form2返回一个处理结果,那么就是下面这种情况了。
form2------->form1:
1.可以用form2的属性,加监视这个属性的事件。发现属性修改触发这个事件,给form1处理这个事件,2.这个应该是较为常用的吧:用委托+自定义消息--携带要传递的数据。自定义消息必须实现EventArgs这个基类。这个时候用委托携带消息在窗体间就不好使了。