采用委托实现两窗口间通信互相通信
2016-02-15 22:47
239 查看
采用委托实现两窗口间通信互相通信
实现效果
主窗口
实现效果
主窗口
namespace 两窗口通信 { //1、创建委托 public delegate void SendDelegate(string msg); public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Text = "小王:"; Form2 objFrm2 = new Form2(); //4、建立委托关联 //关联窗体1的委托 objSend += objFrm2.Display; objSend += display; //关联窗体2的委托 objFrm2.objSend += display; //窗体2显示 objFrm2.Show(); } //2、声明委托 private SendDelegate objSend; private void btnSend_Click(object sender, EventArgs e) { //发送并显示信息 if (objSend != null) objSend(this.Text +this.txtMessage.Text); this.txtMessage.Clear(); } //3、创建委托的事件 private void display(string msg) { this.lbDispay.Items.Add(msg); } } }从窗口
namespace 两窗口通信 { public partial class Form2 : Form { public Form2() { InitializeComponent(); this.Text = "小李:"; objSend += Display;//关联窗体2的委托 } //声明窗体2委托 public SendDelegate objSend; //创建窗体2的委托事件 public void Display(string msg) { this.lbDispay.Items.Add(msg); } //窗体2发送信息 private void btnSend_Click(object sender, EventArgs e) { if (objSend != null) { objSend(this.Text + this.txtMessage.Text); this.txtMessage.Clear(); } } } }
相关文章推荐
- 【JAVA】11、选择结构
- python排序-堆排序
- Qt Quick的Canvas画图之arcTo
- 关于vptr指针初始化的分步
- iOS 个别页面强制横屏,其他页面竖屏
- mini2440利用uboot在内存中下载并运行裸机程序
- 我的阅读书单
- Linux系统常用命令
- iptables raw表
- Can't bind to local 8700 for debugger报错和解决
- poj 1751 Highways prim算法
- 巧用位运算求解二进制中1的个数
- 我的2016~~
- Linux epoll机制简单实例
- quagga是否支持isis
- sqlite3的C接口
- 关于代码手写UI,xib和StoryBoard
- 【HDFS API基本使用】
- 2--顺序表
- 开发订阅