Winform窗体间传值(委托)

  最近工作室为了应付 比赛  赶了一个排课系统  我负责排课的功能 写了一个星期终于赶出来了     用到了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都可以

你可能感兴趣的:(c#)