現欲從子窗口向父窗口回傳輸入的字符串,回傳後無論子窗口是否退出,父窗口均能接收到子窗口傳來的字符串並顯示出來.
1.在子窗口中增加一個委託和事件,類似代碼如下,因爲要傳字符串,所以委託要帶一個字符串的參數.
public delegate void MyDelegate(string messages);
public event MydDelegate MessageEvent;//也可不要event
2.在子窗口設置某按鈕的事件,使其被單擊時調用上述委託(事件),並將需要傳遞的字符串傳遞給委託(事件).
private void button1_Click(object sender, EventArgs e) {
MessageEvent(txtMessage.Text); }
3,在父窗口中增加顯示回傳信息的方法,形參與 MyDeletegate委託相同.
private void DisplayMessage(string message) {
label1.Text = message; }
4.在父窗口中增加如下打開子窗口的代碼:
private void button1_Click(object sender, EventArgs e) {
FormChild fc = new FormChild();
//子窗口的PassMessage事件發生時調用本窗口的DisplayPassedMessage方法
fc.MessageEvnet += new FormChild.MydDelegate(DisplayMessage);
fc.ShowDialog(); }
5.運行程序,在父窗口中點擊按鈕,子窗口打開,在子窗口中的文本框中輸入一些字符,點按鈕,父窗口中顯示這些字符。
相關項目: winappctf