A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我一直在等待 于 2013-10-7 15:07 编辑

在winfrom中,怎么把第一个窗口的全部值传到第二个窗口?
比如,第一个窗口 name,age,sex 属性
我在第二个窗口 new了一下第一个窗口。
但是输出的name,age,sex.的值不是第一个窗口的。  
求大神

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

1 个回复

倒序浏览
你可以自定义下第二窗口的构造函数添加参数为窗口一,然后窗口1在new窗口二的时候,把自己用this关键字传窗口二中。
这样你在窗口二中就可以拿到窗口一了。
  1. class SecondFrm
  2. {
  3.     private FrmMain frmMain;        //定义一个主窗口类变量,接收传进来的主窗口
  4.     //通过重载frmCheck的构造方法,将主窗体传递进来。最好不要覆盖原构造方法
  5.     public SecondFrm(FrmMain f)
  6.     {
  7.         InitializeComponent();
  8.         frmMain = f;                        //把传进来的主窗口,赋值给定义好的变量
  9.     }
  10.     private void btnCheck_Click(object sender, EventArgs e)
  11.     {
  12.         string name = frmMain.tbName.Text; //拿到主窗口tbName文本框的内容
  13.     }
  14. }
  15. class FrmMain
  16. {
  17.     //.........
  18.     private void btnCheck_Click(object sender, EventArgs e)
  19.     {
  20.         SecondFrm sf = new SecondFrm(this);        //在主窗口创建窗口二时,使用带参数的构造函数,用this关键字传进去
  21.     }
  22. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马