c#如何实现在两个窗体(Form)间传输数据或变量

来源:互联网 发布:职称论文比较软件 编辑:程序博客网 时间:2024/05/16 12:06
在父窗体中显示子窗体时,加上子窗体.Owner=this;在子窗体中定义一个父窗体对象,在Load函数里面让父窗体对象=(父窗体类型)this.Owner。然后用这个父窗体对象就可以在子窗体的任何位置直接使用它的参数了(这些参数要定义成公共的).将父窗体对象定义成子窗体的一个变量,不是在Load中定义父窗体对象,只是在Load中获取父窗口,这样在子窗体的任何位置都应该可以使用这个父窗口对象了
如下面代码所示:
(1)在父窗体中 Form2 f2 = new Form2();//新建子窗体对象                            f2.Owner=this;                //将子窗体对象的所有者设为Form1
(2)在子窗体中private void Form2_Load(object sender, EventArgs e) //注意要在load中调用           {                  Form1 f1 = (Form1)this.Owner;         //这样调用父窗体                  textBox4.Text = f1.hight.ToString();                   }