跪求大神一个关于两个窗口实现互相传值(类似于两个窗体聊天的问题)

Fowindy CSDN会员 Fowindy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
跪求大神一个问题,我想实现一个项目中的两个Form窗口之间的互相传值,类似于两个窗口聊天发信息,现在我用委托从子窗体想父窗体发消息没有问题,但是是通过按父窗体按钮触发实例化子窗体并向子窗体构造函数传参数实现的;所以现在的问题是父窗体向子窗体发消息,每次都会生成一个子窗体,我想只能生成一个子窗体怎么实现?


Form1窗体:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btn1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(txt1.Text,DoSth);

f2.Show();
}
//把字符串变量的值赋值给文本框
public void DoSth(string msg)
{
txt1.Text = msg;
}
}

Form2窗体:
public delegate void MyDel(string str);
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();//初始化窗体的
}
private MyDel _mdl;
public Form2(string str,MyDel mdl):this()
{
textBox1.Text = str;
this._mdl = mdl;
}

private void button1_Click(object sender, EventArgs e)
{
//调用委托的时候 一定要先判断
if (this._mdl!=null)
{
this._mdl(textBox1.Text);
this.Close();
}

}
}
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
Fowindy CSDN会员
C# 111,128 成员 642,537 内容