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
  • 1
  • 2

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();        }
  • 1
  • 2

5.运行程序,在父窗口中点击按钮,子窗口打开,在子窗口中的文本框中输入一些字符,点按钮,父窗口中显示这些字符。

posted @ 2022-07-08 14:40  mkmkbj  阅读(439)  评论(0编辑  收藏  举报