跪求大神一个关于两个窗口实现互相传值(类似于两个窗体聊天的问题)
跪求大神一个问题,我想实现一个项目中的两个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();
}
}
}
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();
}
}
}
...全文
相关推荐
Java实现两个聊天窗口
在Java编程中,实现两个聊天窗口的交互是一个典型的多线程和网络通信的应用场景。这里,我们将探讨如何利用Java的相关技术来完成这个任务。
java实现简单通信聊天窗口
在Java编程语言中,实现一个简单的通信聊天窗口涉及到多个核心概念和技术。首先,我们需要理解Java的基础,包括面向对象编程、类、对象、方法等。
qt 聊天窗口 示例
在本文中,我们将深入探讨如何使用Qt来创建一个聊天窗口,并实现动态表情的展示,这对于构建类似微信、QQ等即时通讯软件至关重要。首先,让我们了解Qt。
html在线聊天窗口
在这个项目中,我们将探讨如何使用HTML来构建一个基本的聊天窗口,以及可能涉及到的相关技术。
java实现多人聊天(类似于QQ聊天)
在Java编程领域,实现一个多人聊天系统,类似于QQ聊天,主要涉及到网络编程和并发处理的知识。


