winform页面间传值

 这一段时间做的软件中需要用到页面间传值,以前一直是在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();

  利用了"引用",原来我一直没学好引用,呵呵.

你可能感兴趣的:(WinForm)