忆龙2009:使用自定义事件
来源:互联网 发布:网络大专转专业 编辑:程序博客网 时间:2024/05/16 19:52
事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。
在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型 (Delegate),该类型提供函数指针的功能。
委托是可保存对方法的引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。一个委托声明足以定义一个委托类。声明提供委托的签名,公共语言运行库提供实现。下面的示例显示了事件委托声明。
public delegate void AlarmEventHandler(object sender, AlarmEventArgs e);
该语法与方法声明的语法相似,但是 delegate 关键字通知编译器 AlarmEventHandler 是一个委托类型。按照约定,.NET Framework 中的事件委托有两个参数:引发事件的源和该事件的数据。
只有当事件生成事件数据时才需要自定义事件委托。许多事件,包括一些用户界面事件(例如鼠标单击)在内,都不生成事件数据。在这种情况下,类库中为无数据事件提供的事件委托 System.EventHandler 便足够了。本例中我们使用了不带参数的事件。其声明如下:
delegate void EventHandler(object sender, EventArgs e);
下面的示例程序演示了如何使用自定义事件。
当魔方的状态发生变换时,通过RaiseCubeStatusChangedEvent()引发一个事件,然后在DisplayMagicCubeOnEvent()中对该事件进行处理,显示魔方变换后的状态。
- 忆龙2009:使用自定义事件
- flex 使用自定义事件
- EXT的自定义事件使用
- 自定义事件的使用例程
- as3 自定义事件的使用
- JQuery 自定义事件的使用
- 使用delegate类型设计自定义事件
- spring中使用自定义的事件
- 使用 Dojo 处理用户自定义事件
- My97 DatePicker使用之自定义事件
- 说说如何使用 JavaScript 实现自定义事件
- 使用自定义事件的表单输入组件
- 使用自定义事件并随事件传递数据
- PowerBuilder 使用自定义事件触发键盘Enter事件
- 51、实例 使用jQuery管理事件之自定义事件
- jQuery之鼠标事件 、表单事件、键盘事件、事件的绑定和解绑、事件对象的使用、自定义事件
- 自定义事件
- 自定义事件
- QQ聊天对话框内 聊天者昵称,发送者昵称 的字体颜色怎么设置
- 大规模C++程序设计(引言)
- vim 使用
- 创建数据库的一些语句
- 腾迅笔试面试题
- 忆龙2009:使用自定义事件
- 面向过程和面向对象的区别
- 分析师称Google扩张过快 很可能迷失方向
- 索引的碎片处理
- sigpipe信号处理
- Usage sample of unix signal to handle function call with a timeout value.
- 做个专业职业的人士应具有的心态
- qt/embedded 2.3.10 移植
- 详解继承、多态、重载和重写