C#中如何在两个子窗体间传递参数

来源:百度知道 编辑:UC知道 时间:2024/06/25 13:12:58
我原来用的是将form1中的控件mm属性改为public,然后是
form s=new form2();
s.show(this);打开第二个界面
在第二个界面中
Form1 sd = (Form1)this.Owner;
sd.mm=.....
就可以了,现在改成了多窗口模式了,如题?
例如form1是主窗口,其他的在他中打开,那么form3如何引用form2中的数据哪?
谢谢!
可能是我没说明白,二楼的是实现多窗口功能的吧?我这个已经实现了,现在是两个子窗口间的参数传递。如果可能希望高手给出代码
在主窗口1中打开子窗口2
Form sw = new Form2();
sw.MdiParent=this;
sw.Show();
然后再2中打开3
Form sw = new Form3();
sw.Show();
以上的怎么改一下可以把2中的数据传递到3中

给人写一个两个窗体之间值的传递的方法,不管对于子窗体还是父窗体都可用.具体代码如下:
(以下用窗体Form2和窗体Form3为例)
1、先在Form2中定义一个成员变量和一个属性如下:
private string form2zhi = null;
public string Form2ChuanZhi
{
get
{
return form2zhi;
}
}
2、再在Form3中定义一个成员变量和一个属性如下:
private string form3zhi = null;
public string Form3ChuanZhi
{
set
{
form3zhi = value;
}
get
{
return form3zhi;
}
}
3、以上基本已经搞定了,为了能够实现这个传值看的清楚一点,我在Form2加了一个bunton命名为btn_ChuanZhi
4、双击btn_ChuanZhi在这个事件中写入以下代码(主要是显示Form3窗体和将Form2中的值传过去):
Form3 form3 = new Form3();
form3.Form3ChuanZhi = form2zhi;//将值传过去
form3.Show();
5、在Form3中托一个Label控件,并双击Form3窗体Form3_Load事件中写入以下代码:
label1.Text = form3zhi;//为了显示值已经传过来了
6、这个运行是没错误了,但在Form3还不能看到