EaBIM

标题: [事件] AutoCAD中的事件处理(二) [打印本页]

作者: 萧闫子    时间: 2014-1-8 14:53
标题: [事件] AutoCAD中的事件处理(二)

事件的注册和注销

    事件编程可以简单地分成两个部分:事件发生的类和事件接收处理的类。事件发生的类就是说在这个类中触发了一个事件,但这个类并不知道哪个对象或方法将会接收到并处理它触发的事件,因此要在发送方和接收方之间存在一个媒介。这个媒介在.NET Framework中就是委托(delegate),通过委托完成了事件的注册。

只有先注册了事件之后才能调用相应的事件处理函数,这相当于告诉AutoCAD,我们对什么样的事件感兴趣,并且当这个事件发生的时候,它要做的事。当不再对这个事件感兴趣的时候,也可以注销该事件,这也可以释放系统的资源。

       注册事件使用+=操作符,而注销则使用-=操作符。注册事件就是把事件处理函数和事件捆绑起来,大部分的事件处理函数通常有两个形参,一个代表发送事件的对象,另一个则为事件的返回参数。

例如下面将会注册一个事件,即当系统变量发生改变的时候将会触发事件处理函数:

Application.SystemVariableChanged +=

new SystemVariableChangedEventHandler(MyHandler);


相应的,注销一个事件则为:

Application.SystemVariableChanged -=

new SystemVariableChangedEventHandler(MyHandler);


其他的事件可以采用类似的方法实现注册和注销。

转自:http://379910987.blog.163.com






欢迎光临 EaBIM (https://eabim.net/) Powered by Discuz! X3.2