• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#中两个窗体间的数据传递

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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;

}

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
(C#)操作XML之查找发布时间:2022-07-14
下一篇:
C#.net压缩文件解压上传及文件压缩下载发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap