最近工作室为了应付 比赛 赶了一个排课系统 我负责排课的功能 写了一个星期终于赶出来了 用到了Winform窗体间传值。
一开始我是直接将Form1窗体传入Form2窗体的构造函数 前提是 Form2中有From1的类成员Form1 Ffather 然后在构造函数里赋值给Ffather 这样也是可以操作的 可是 直接 Form2.show()后 Form2.Ffather=this的时候 From2的值无法传入 From1 我也是很无奈 不清楚原因 。
为了以防万一 我用了 委托实现窗体传值
首先在命名空间下 定义一个委托
public delegate string GetText();
From2中定义一个事件
public event GetText TEXT;
this.textBox1.Text = TEXT();
From1中定义一个与委托对应的函数
private string name()
{
return this.textBox1.Text;
}
添加一个button控件
Form2 x = new Form2();
x.TEXT += new GetText(name);
x.Show();
将form1中的name函数赋值给Form2中的委托 然后就可以直接在from2中调用
From中的name函数 name的属性为public和private都可以