天天看點

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都可以

繼續閱讀