本人做Winform比较少,所以关于Winform窗体间的传值方式知道的也就这么几种。
1.通过构造函数进行传值。
实现代码如下:
在窗体Form2中
int value1;
string value2;
public Form2(int value1,string value2)
{
InitializeComponent();
this.value1=value1;
this.value2=value2;
}
在窗体Form1中这样调用就可以了:
new Form2(111,"222").Show() //这样就把111,“222”这两个值传给了Form2
2.通过静态变量。传值是双向的,而且简单。
forexample:在一个app类中定义一个静态成员value
public class app
{
public static string value;
}
在窗体From1中这样调用:
app.value="i love you"; //给静态成员赋值
new Form2().Show(); //显示Form2
在窗体Form2中这样写:
this.Text=app.value; //取回app.value的值
app.value="i love you too"; //给app.value赋值,以便其他窗体调用
3.通过窗体的公有属性值
实现代码如下:
在窗体Form2中设置一个公有属性Form2Value,获取和设置TextBox1的文本值。
public string Form2Value
{
get
{
return this.TextBox1.Text;
}
set
{
this.TextBox1.Text=value;
}
}
在窗体Form1中这样调用:
Form2 f2=new Form2();
f2.Form2Value="can you speak english?";
f2.ShowDialog();