中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
关于自定义事件的一点体会
作者:未知 时间:2004-12-16 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无
今天在msdn上搜索文章的时候无意中看到一个涉及 自定义事件 的部分,整天用到的基本都是windows开发环境下Ide的自带事件,比如click什么的,一时竟没看懂,回头翻书查了查,才稍微理解了,并加深了印象。虽然以前在java里也用过事件,但在c#里事件必须先定义委托,一时比较乱,整理一下先。

首先定义一个事件的函数签名(参数的格式)--代理
public delegate void ComputeSalaryCallback(string EmpID,double Salary);

在类型中声明类型所包含的事件名称,与事件触发的逻辑
public event ComputeSalaryCallback OnComputeSalaryDone;

在一个函数中,声明事件触发的逻辑,换句话说,当如下函数被调用的时候,触发OnComputeSalaryDone事件:
public virtual double computeSalary( )
{ OnComputeSalary( mstrEmpID,mdblBaseSalary);
   return mdblBaseSalary;
}

定义事件处理函数,以及将事件连接到事件处理函数,连接就像是 委托 到那个函数
public static void SalaryHander(string EmpID,double Salary)
{
    Console.WeiteLine(”员工:员工代号={0},工资={1}”,EmpID,Salary);
}

OnComputeSalaryDone+=new ComputeSalaryCallback(SalaryHandler);


以上就完成了一个事件的整体,一旦调用computesalary()函数,就会触发事件OnComputeSalaryDone,并引发事件处理函数。如果连接到多个事件处理函数,则会依次执行连接的时间处理函数。

另外可以把事件定义放到组件当中,然后在其他类里声明事件处理函数,进行处理。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有