WinForm 子窗口向父窗口回傳信息(事件)

C#實現Winform窗口間數據交互的三種方法介紹

https://www.cnblogs.com/1990wz/articles/4276692.html

WinForm 子窗口向父窗口回傳信息(事件)

https://blog.csdn.net/jhycjhyc/article/details/102562829

現欲從子窗口向父窗口回傳輸入的字符串,回傳後無論子窗口是否退出,父窗口均能接收到子窗口傳來的字符串並顯示出來.

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.MessageEvnet +=DisplayMessage;
        fc.Show();        }

5.運行程序,在父窗口中點擊按鈕,子窗口打開,在子窗口中的文本框中輸入一些字符,點按鈕,父窗口中顯示這些字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章