相信大家在做系统的时候,很多人都遇到需要在两个不同的窗体间传递数据的情况,例如可以单独打开一个窗口,用于显示代码名称对照关系,通过双击该窗体的数据,我们希望这个数据传递到另一个窗体中。如何实现两个窗体间数据的实时传递呢?其实很简单,只需要简单地运用事件通知就可以了。
首先做如下假设:
有两个窗体MainForm,SubForm,我们希望SubForm向MainForm实施传递数据,开发语言就用.net C#
1、新建一个工程,并添加两个窗体,分别命名为frmMain,frmSub
2、在frmMain上添加一个文本框和一个按钮,分别命名txbxReceiveMessageContainer和btnOpenSubForm
3、在frmSub上添加一个文本框和一个按钮,分别命名txbxSendMessageContainer和btnSendMessage
4、在工程中添加一个类文件,取名为Global,用于放置一些公用代码
做好了以上准备工作,下面开始编写代码,为方便大家阅读,我把关键代码直接贴上来。
//Global.cs
public class SubFormEventArg : System.EventArgs//事件数据,其中构造函数中的参数是object类型,也就是说我们可以在两个窗体间传递任何数据,如数组,字符串,结构体以及其他任何复杂的数据形式
{
private readonly object myObj;
public SubFormEventArg (object myObj)
{