C#两个或者多个窗体之间值得传递方法有很多种,大致可以分为单向传递和双向传递两种,后者当然更加灵活一点,对于C#的特点体现的也最好。这里总结三种最为常用的方法,通过事件委托和单项窗体传参以及设置全局变量进行通信。
1、事件委托
我们可以做两个窗体Form1,Form2来实现两个整数的相加求和,其中前者负责输入第一个整数,通过点击事件弹出第二个窗体,在第二个窗体中设置第二个整数,再返回整数给第一个窗体,实现求和。
首先,必须对委托机制有初步了解,委托说白了就是C++中的函数指针,也就是对调用的函数使用一个别名,只不过C#是完全面向对象的,没有指针了而已,类型更加安全。
具体到本次实例,我们定义的委托实例或者变量应该是针对事件的,所以:
1、定义委托
public delegate void SendMessage(string str);这里我们定义了一个返回为空的SendMessage委托,签名为string 类型 str;
2、定义(事件类型的)委托变量或者实例
public event SendMessage Send;
或者public SendMessage Send;(event本身也是一种委托类型)
3、窗体1及主要代码:
public Form1()
{