将数据从一种形式发送到另一种形式

时间:2010-10-03 12:38:51

标签: c#-4.0

我为我的应用程序创建了一个名为Form2的辅助表单,用户可以在其中指定图片,颜色和文本。

现在,在此Form2上,用户按下OK按钮后,我想将详细信息发送到表单1并打开它。 例如:如果用户在Form2上设置color = Red,Picture = Img.gif,Text = Hi, 然后Form1上的TextBox应显示为红色的Hi和Form1中的PicBox中的图片。

如何将数据从一种形式发送到另一种形式?

2 个答案:

答案 0 :(得分:1)

您可以完全按照将任何类的值分配给任何其他类的方式执行此操作。

例如:

var form1=new Form1();
form1.SetProps(Red,img.gif,"Hi");

Form1显然需要以下内容:

public void SetProps(color c, ...)  

你明白了。

更好的方法,特别是表单,在form2中有一个构造函数,它从Form1接收参数,并在关闭Form1之前调用它:

即。在Form2中:

var form1 = new Form1(Red,img.gif,"Hi");      
this.Close();
form1.Show();  

(不要让我了解语法..)

答案 1 :(得分:0)

这可以通过几种方式完成。其中一个可能是将对象作为参数传递给Form2的构造函数。此对象可以是具有一些属性的类,用于存储Form2收集的值。由于对象将作为引用从应用程序传递给Form2,因此只要Form2更新它们,应用程序就会有这些值。

另一种方法是向Form2添加一些公共属性以存储Form2收集的值。由于Form2是由应用程序创建和引用的,因此只要应用程序保持引用Form2,应用程序就应该可以访问这些属性。

一旦应用程序具有From2的值,它就可以轻松地传递给另一个表单。