C#中的事件和事件处理

       C#中的事件,我觉得和MFC的消息作用在某些方面是差不多的。这个项目中用到的需求是两个类之间的数据交互,首先肯定是分为一个触发事件的类,一个处理事件的类。

1)首先需要在所有类的外部为事件定义一个公共访问类型的代理,该代理为多重代理,所以代理定义方法标识的返回为void类型。一般我们这么定义:

<span style="font-size:14px;">public void EventDelegate(object sender,EventArgs e);</span>

         多重代理的意思,可以理解为这个代理有多重方法。

2)在事件触发类中,使用event关键字与之前声明的代理共同定义一个公共访问类型的事件。

<span style="font-size:14px;">public event EventDelegate MyEvent;</span>


3)在事件处理类中,定义一个事件处理方法,这个方法的参数和代理的一致

<span style="font-size:14px;">public void OnMyEvent(object sender,EventArgs e)</span>
<span style="font-size:14px;">{//处理的方法</span><span style="font-size:14px;">}</span>


4)在事件触发类中的方法中,触发事件。

MyEvent(this,null);


5)在事件处理类中,实例化事件触发类,并且将当前类中定义的事件处理方法和事件绑定在一起

EventClass eventObj=new EventClass();
eventObj.MyEvent+=new EventDelegate(OnMyEvent);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值