主窗体->从窗体
下面根据上图中的步骤进行一步一步地介绍
//【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的博友可以到我的资源中去下载。