黑马程序员技术交流社区

标题: 在winfrom中,怎么把第一个窗口的全部值传到第二个窗口? [打印本页]

作者: 我一直在等待    时间: 2013-10-7 14:38
标题: 在winfrom中,怎么把第一个窗口的全部值传到第二个窗口?
本帖最后由 我一直在等待 于 2013-10-7 15:07 编辑

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


作者: 黄广祯    时间: 2013-10-7 14:57
你可以自定义下第二窗口的构造函数添加参数为窗口一,然后窗口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. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2