winform页面间传值
时间:2011-06-12 来源:moss_tan_jun
这一段时间做的软件中需要用到页面间传值,以前一直是在NEW出FORM对象的时候就把值给赋进去,当然FORM对象的控件属性必须为public,今天却不行了,因为这次需要将NEW出来的新窗体的值赋予主窗体的的控件,想了很多方法都不行,偶然在网上看到重写构造函数的方法,仅在此记录,顺便归纳.
页面间传值:
方法一:
(条件)form1 show 出form2,在form2中有textbox1控件,要在弹出form2窗体时给textbox1赋值.
将form2的textbox1的属性设为public.
from2 frm=new form2();
frm.textbox1.text="要赋予的内容";
frm.show();
方法二:
(条件)条件如方法一,但这次需要获取form2的实例,以便时时更新.
1.在form1中写方法
private static form2 frm2;
public static form2 GetForm(form2 frm)
{
frm2=frm;
}
2.在form2的load事件中加入方法
form1.GetForm(this);
这样在form1中就获取了form2的实例frm2.只要对frm2赋值
frm2.textbox1.text="要赋予的内容";
方法三:也就是今天找到的方法
(条件)将form2的textbox1的值传给form1的textbox1
1.重构form2的构造方法:
private TextBox textbox1;
public void form2(TextBox txt)
{
textbox1=txt;
}
2.当form1 show 出form2时
form2 frm=new form2(textbox1);
frm.show();
利用了"引用",原来我一直没学好引用,呵呵.