当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .NET事件处理的过程

ASP.NET
asp.net DiscuzNT登录,退出的代码
ASP .NET中执行控件(如ImageButton、LinkButton等)命令不刷新页面
Microsoft SQL Server 2005 Express 远程访问设置详述,100%成功篇
使用.NET命令行编译器编译项目(如ASP.NET、C#等)
asp.net 去除viewstate
asp.net repeater实现批量删除
asp.net安全、实用、简单的大容量存储过程分页
asp.net 获取图片高度和宽度实例代码
在GridView中LinkButton的属性的应用(如何不用选中就删除这一行)
关于.net(C#)中的跨进程访问的问题
asp.net request.PathInfo实现的url重写
asp.net SqlDataReader绑定Repeater
ASP.NET 动态写入服务器端控件
Discuz .net版本中的短消息系统
asp.net动态加载用户控件,关于后台添加、修改的思考
.net Cookies安全性实践分析
配置Visual Studio 以调试.net framework源代码
asp.net 大文件上传 之 改版了的SlickUpload.HttpUploadModule(Krystalware.SlickUpload.dll)
asp.net Web站点风格切换的实现
asp.net 用户控件中图片及样式问题

ASP.NET 中的 .NET事件处理的过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 154 ::
收藏到网摘: n/a

DOTNET事件处理的步骤与实现

第一步:定义一个合适的委托

例:

delegate void MoveEventHandler(Object Sender,MoveEventArgs e)

注意:DotNet框架中的标准委托的定义如下:

Public delegate void EventHabdler(Object Sender,EventArgs e)

参数说明:

(1)Sender:表示消息的发送方;

(2)EventArgs:默认的消息处理类(不含附加数据)

(3)强烈建议使用标准的委托定义事件

 

第二步:定义一个合适的消息

由于标准的EventArgs类不包含附加数据,可继承此类,使该类包含与特定时间相关的信息,

如: Public class MoveEventArgs

{ Public int newPosition;

Public MoveEventArgs(int newPosition)

{

this.newPosition = newPosition

}

}

 

第三步:发送方声明事件并设置激发事件的代码

声明事件:Public event 委托类型与事件标识

必须使用Public声明事件,否则接收方就不能登记事件处理器,激发一个事件的代码如下:

if (事件标识 != null)

{

MoveEventArgs args = new MoveEventArgs(value1);

}

事件标识(this,args)(注意:次事件为dotnet标准事件)

另:建议直接使用标准系统委托 EventHandler

发送消息 MyEvent(this.args);

Public event EventHandler MyEvent;

声明一个事件变量

 

第四步:接收方登记事件处理器

事件处理器也是一种委托,将接收方要完成的功能加入到事件处理器,实现委托与事件的挂钩,一旦接收方收到发送的消息后,将立即执行该方法,实现功能。

Sender s1 = new Sender();声明一个发送方实例

s1.事件标识 += new定义的委托(要实现的功能代码)

将事件与要实现的功能挂钩。

 

第五步:等待事件的发生

注意:接收方只能处理登记完成了事件处理器后的事件,对于在事件处理器之前就发生的事件,接收方并不能处理。