【转】c#实现在两个窗体(winform)之间传输数据或变量的方法

在父窗体中显示子窗体时,加上子窗体.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();
}

贴吧不好放code格式,凑合看吧,看到很多朋友提问,分享给大家。


C# this.owner 返回NULl的解决方法

form1主窗口

form2是子窗体

 

在form1中://打开form2窗口的位置修改

form2 f2 = new form2();

f2.show(this);//一定要加上这个this

 

在form2中://需要修改form1控件的地方

form1 f1 = (form1)this.owner;

f1.textbox1.text = "OK";


你可能感兴趣的:(C#)