在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
winform 窗体编程 在两个窗体间传递数据可分为两种: 一:父窗体向子窗体传递。 二:子窗体向父窗体传递。 传递实现的机制: 分别在两个窗体中创建公有属性的设置字段,分别供两个窗口调用。 两种情况的区别: 一:在父窗体向子窗体传递数据时,由于在父窗口中已经实例化出子窗口对象,可以直接调用子窗口的设置字段程序。 代码示例: Step one:在父窗体中添加_senddata字段。 public string _senddata { get{return data;} } Step tow:在子窗体中添加_recievedata字段 public string _recievedata { set{this.message=value;} } Step three:在父窗体中创建子窗体,并将数据传递过去。 private void button1_Click(Object sender,Eventargs e) { Form2 f=new Form2(); f.Show(); f._recievedata=this._senddata; } 二:而在子窗口向父窗口传递数据时,在子窗口程序中并没有父窗口的实例化对象,所以不能直接调用父窗口的设置字段程序。 解决办法:添加私有的父窗体对象,在子窗口中重载带有父窗体参数的构造函数,将参数引用传递给私有的父窗体对象。这样在子窗体中便有了父窗体实例对象的引用。 代码示例: Step one: 在子窗体中重载构造函数。 private Form1 f;//添加私有的父窗体的对象。 public Form2(Form1 _f) { //.........初始化工作。 f=_f;//将f引用为父窗体。 } Step tow:在父窗体中新建子窗体对象时将自己作为参数传递给构造函数。 private void button1_Click(Object sender,Eventargs e) { Form2 f=new Form2(this);//实例化子窗口时。 f.Show(); } Step three:在子窗体中以父窗体的引用进行数据传递。 private void ButtoOne_Click(Object sender,EventArgs e) { //调用父窗体的引用。 f._recievedata=this._senddata; }
|
请发表评论