从另一个表单Winforms传递值

时间:2012-01-31 01:23:47

标签: c# winforms

Web中传递表单的所有教程都来自form1然后打开form2,然后传递值。

我想要一些反向的东西。 form1和form 2是打开的,所以如果你在form2中单击ok,你在表单2中获得的值将以表单1传递。

离。 form1单击buttton openform2button(表单2显示)在textBox上写入7(数字7)(在form2中)单击按钮okbutton然后在form2关闭form1中的文本框后关闭表单2将数据存储在form2中。因此,您将放入文本框form2中的7将被保存并以textbox form1传输。那可能吗?

2 个答案:

答案 0 :(得分:1)

有很多方法可以做到:

  • 在form1和form2之间共享一个模型对象。
  • 让form2公开form1订阅的事件。传递事件参数中的值。
  • 让form2将值公开为form1关闭后form1读取的公共属性。

答案 1 :(得分:0)

您可以在Form2上拥有一个公共属性,Form1将在需要查看值时访问该属性。像这样:

using(Form2 form2 = new Form2()) 
{
  if(form2.ShowDialog() == DialogResult.OK) 
  {
    form1Logger(form2.NumberWritten);
  }
}

该属性可以像这样简单:

class Form2
{
     public String NumberWritten 
     {
         get{return textBox.Value;}
     }
}