`

C#学习之Event

阅读更多

C#中Event的概念:

C#中的事件处理实际上是一种具有特殊签名的delegate,象下面这个样子:

public delegate void MyEventHandler(object sender, MyEventArgs e);

其中的两个参数,sender代表事件发送者,e是事件参数类。MyEventArgs类用来包含与事件相关的数据,所有的事件参数类都必须从 System.EventArgs类派生。当然,如果你的事件不含参数,那么可以直接用System.EventArgs类作为参数。

实现Event的步骤:

1. 定义delegate对象类型,它有两个参数,第一个参数是事件发送者对象,第二个参数是事件参数类对象。

2. 定义事件参数类,此类应当从System.EventArgs类派生。如果事件不带参数,这一步可以省略。

3. 定义事件处理方法,它应当与delegate对象具有相同的参数和返回值类型。

4. 用C# event关键字定义事件对象,它同时也是一个delegate对象。

5. 用+=操作符添加事件到事件队列中(-=操作符能够将事件从队列中删除)。

6. 在需要触发事件的地方用调用delegate的方式写事件触发方法。一般来说,此方法应为protected访问限制,既不能以public方式调用,但 可以被子类继承。名字是OnEventName。

7. 在适当的地方调用事件触发方法触发事件。

分享到:
评论

相关推荐

    C#事件(event)使用方法详解

    本文给大家介绍了在C#中,事件(event)的概念和使用方法,文章适合一些初学者学习,主要讲解了一些概念和一些代码案例。

    Event Bus C# 事件总线

    C# Event Bus Demo C# 事件总线实例 非常简单的事件总线实例,学习入门的基础

    C#学习的101个经典例子

    #学习的101个经典例子,例子个个经典,涵盖C#的方方面面,带有说详尽的注释 Advanced - Multithreading - How-To Async Calls Advanced - Remoting - How-To TCP Remoting Advanced - Serialization - How-To ...

    C#中event内存泄漏总结

    本篇文章给大家分享了在C#中event内存泄漏的相关知识点以及代码分享,有兴趣的朋友参考学习下。

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    C# 中委托和事件的例子DelegateAndEventDemo

    C# 中委托和事件的例子DelegateAndEventDemo 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等

    c#学习笔记——学习心得

    C#中的各种名词: 常数:声明时用const修饰,是隐式静态类型 域:一个代表和某对象或类相关的变量的成员 字段:和属性相同,是用来存储对象的值,可以直接访问数据且不能对数据添加任何限制,但是属性不能且可以对...

    C# FileEventWatcher文件监控源代码

    用C#做的一个FileWatcher文件监控程序的源代码,希望对大家的学习有帮助,程序不是很完善,请大家见谅!

    c#弱事件简单实例代码

    改实例代码通过控制台应用程序,实现了c#弱事件的整个工作过程。代码可正确运行。简单易懂。弱事件主要为了解决普通事件所带来的垃圾回收问题。 可供学习参考

    C# for CSDN 乱七八糟的看不懂

    C#关键字 关键字 abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach ...

    C# 开发画图板的小测试

    使用VS2010下的C#开发一个touch事件获取的画图板功能,作为一个学习工具!VS2010 c # development under a touch event for drawing board function, as a learning tool!

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    《C#开发实例大全(基础卷)》既适合C#程序员参考和查阅,也适合C#初学者,如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 第1篇 C#编程基础篇 第1章 C#开发环境的使用 2 1.1 Visual Studio...

    C# 扫雷v1.0.1

    学习C#时自己编的扫雷游戏,源代码加.exe 文件 有简单的windows from 的运用, 鼠标event 的改写 简单的声音运用 动态图片的绘制。 resource handler的使用 VS 2003 C#.net framework 1.1

    C#全能速查宝典

    《C#全能速查宝典》所讲的知识点按照功能和字母进行排序,读者既可以按照功能顺序查找,又可以按照字母顺序学习。 《C#全能速查宝典》不仅适合C#程序设计初学者,也可作为中、高级程序开发人员的参考手册。 ========...

    C# 事件控制示范代码

    0分下载 初步学习者看 使用有一段时间的就不要看了

    CLR.via.C#.(中文第3版)(自制详细书签)

    本书作者作者Jeffrey Richter,.NET和Windows编程领域当之无愧的大师和权威,以著述清楚明了,行文流水,言简意赅著称,在国内具有相当高的知名度,他的著作之一《Windows核心编程(第5版)》屡获殊荣,在国内外都...

    C#玩转“跳一跳”

    一种简单的“跳一跳”刷高分获取的实施体验方法,本代码只供学习使用,勿用于游戏作弊等违法行为

    C#事件实例详解

    C#事件实例详解 ... C#语言中关于事件(event)结合代理(delegate)实现对象状态变更时的通知机制,总感觉这种处理有点过于复杂化了,但既然人家这么设计必定有人家的道理,相信并向人家学习而不急于批判和否定

Global site tag (gtag.js) - Google Analytics