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.运行程序,在父窗口中点击按钮,子窗口打开,在子窗口中的文本框中输入一些字符,点按钮,父窗口中显示这些字符。