分別用委託和事件和接口實現多窗體間的傳值

委託實現多窗口傳值的通常流程是
一、建立委託類型 private Action<string> AfterMsgSend { get; set; }
二、建立窗體對象 ChildFrm frm = new ChildFrm();
三、給委託註冊方法(追加),注意此處的方法是窗體的方法 即frm.方法 AfterMsgSend += frm.SetText;//窗體打開以前給委託註冊方法
四、frm.Show();
五、觸發方法 AfterMsgSend(txtMessage.Text.Trim());this

事件實現多窗口傳值的通常流程是
一、 private event EventHandler AfterMsgChangeEvent; //定 義消息發佈的事件
二、 ChildFrm frm = new ChildFrm();
AfterMsgChangeEvent += frm.AfterParentFrmTextChange; //給窗體註冊事件
//這個是子窗體中的方法,與委託相似
public void AfterParentFrmTextChange(object sender, EventArgs e)
{
//拿到父窗體的傳來的文本
TextBoxMsgChangeEventArg arg = e as TextBoxMsgChangeEventArg;
this.SetText(arg.Text);
}
frm.Show()
三、觸發事件
AfterMsgChangeEvent(this, new TextBoxMsgChangeEventArg() { Text = this.txtMessage.Text });對象

 

//上面用到的方法接口

public class TextBoxMsgChangeEventArg : EventArgs
{
public string Text { get; set; }
}事件

 

 

用接口實現多窗口傳值的流程
一、定義接口
二、主窗體中建立一個集合(屬性)來接收關注窗體
三、建立窗口,若是要實現接口將其加入到受主窗體所關注的窗體中來
四、遍歷受關注的窗體,並實現接口 實現接口的方法能夠寫在子窗體中get

相關文章
相關標籤/搜索