最近工作室為了應付 比賽 趕了一個排課系統 我負責排課的功能 寫了一個星期終于趕出來了 用到了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都可以