C#委托详细实例(通过窗体应用程序传递消息)
2017-09-01 10:28
309 查看
主窗体->从窗体
下面根据上图中的步骤进行一步一步地介绍
//【1】创建委托原型
总结
学习C#如果不会用委托那么就是非科班出身。以后学习异步编程和多线程编程都是基于委托实现的。WinForm中的所有事件都是基于委托实现的。要是想要这个Demo的博友可以到我的资源中去下载。
下面根据上图中的步骤进行一步一步地介绍
//【1】创建委托原型
//一定要记住委托创建在类的外部public delegate void SenderMsgDelegate(string counter);
//【2】根据原型委托创建具体的方法 public void Reciver(string counter) { this.lblCount.Text = counter; }
//【3】创建委托变量 public SenderMsgDelegate senderMsgDelegate;
//【4】根据委托和具体的方法进行关联 FrmOtherOne frmOtherOne = new FrmOtherOne(); FrmOtherTwo frmOtherTwo = new FrmOtherTwo(); FrmOtherThree frmOtherThree = new FrmOtherThree(); //关联接受者的具体方法 senderMsgDelegate += frmOtherOne.Reciver; senderMsgDelegate += frmOtherTwo.Reciver; senderMsgDelegate += frmOtherThree.Reciver; //显示从窗体 frmOtherOne.Show(); frmOtherTwo.Show(); frmOtherThree.Show();
【5】<调用>委托变量传递消息 private int counter = 0; private void btnAdd_Click(object sender, EventArgs e) { senderMsgDelegate.Invoke(counter++.ToString()); }
总结
学习C#如果不会用委托那么就是非科班出身。以后学习异步编程和多线程编程都是基于委托实现的。WinForm中的所有事件都是基于委托实现的。要是想要这个Demo的博友可以到我的资源中去下载。
相关文章推荐
- C# 委托实例(跨窗体操作控件)
- c#如何在线程中通过传递消息更新界面
- c# “XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
- 【C#】对“xxxx::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用。
- c#经典编程实例(四窗体应用程序)
- C# 通过消息捕获处理窗体最大化/最小化
- C#利用委托实现窗体间的值传递 .
- 关于C# Windows Forms 怎样通过用窗体类的this.Handle属性得到的IntPtr在别处的类中将此IntPtr还原为刚刚那个窗体类的实例,即(this).
- C#利用委托实现窗体间的值传递 .
- 在C#中用户控件与窗体间的消息传递
- 在C#中用户控件与窗体间的消息传递
- 在C#中用户控件与窗体间的消息传递
- C# 委托实例(跨窗体操作控件)
- 通过传递"窗体的名字"来实例化窗体
- 通过反射技术创建窗体实例然后给控件赋值(C#)
- C# Windows窗体间消息传递的问题
- c#关于Delegate最简单的例子:两个窗体间的消息传递
- C#对象间的协作和信息交换(三)从窗体向主窗体传递消息
- C#通过窗体应用程序操作数据库(增删改查)
- C# 委托实例(跨窗体操作控件)