C# 事件机制实例
来源:互联网 发布:天地知我心二的作品 编辑:程序博客网 时间:2024/05/16 05:17
- /*
- * 由 SharpDevelop 创建。
- * 用户: zhaojp
- * 日期: 2008-12-2
- * 时间: 11:12
- * 照.NET FrameWork的事件设计准则去书写代码
- 1 事件的命名应遵循PascalCasing命名方式
- 2 申明delegate时使用void作为返回类型,事件接受两个传入参数一律命名为sender和e
- 3 定义一个事件提供数据的类对类以EventNameEventArgs进行命名,从EventArgs类派生然后添加事件的成员,
- 如果不需要事件提供数据的类,可以使用系统的System.EventArgs类作为类型
- Eg: Public delegate void EventNameEventHander(Object sender,EventNameEventArgs e) //声明委托
- 通常我们需要在引发事件的类中提供一个受保护的方法以OnEventName进行命名。在该方法中引发事件
- Protected virtual void OnEventName(EventArgs e)
- {
- if(EventName!=null)
- {
- EventName(this,e);
- }
- }
- 响应事件时:
- 实例。EventName+= new EventNameEventHander(响应事件的方法)
- public void 响应事件的方法 (参数要与托管一致){
- }
- * 如果你想要更改该模板,那么请使用“工具 | 选项 | 编辑 | 编辑标准标题”。
- */
- using System;
- using System.Collections.Generic;
- namespace Devent
- {
- public delegate void RunEventHandler(object sender ,RunEventArgs e);
- class RunEventArgs:System.EventArgs
- {private readonly int P_Distance;
- public RunEventArgs(int i){
- this.P_Distance =i;
- }
- public int Distance{
- get{return this.P_Distance;}
- }
- }
- class person
- {
- public event RunEventHandler Run;
- protected virtual void onRun (object sender,RunEventArgs e)
- {
- RunEventHandler Handler = Run;
- if (Handler != null)
- {
- Run(this , e);
- }
- }
- public void go ()
- {
- int i ;
- for (i=0 ;i<=100000 ;i++)
- {
- if (i%1000==0 )
- {
- onRun(this, new RunEventArgs(i));
- }
- }
- }
- }
- class MainClass
- {
- public static void Main(string[] args)
- {
- Console.WriteLine("Hello World!");
- person p = new person();
- p.Run += new RunEventHandler(run);
- Console.Read();
- p.go ();
- Console.Read();
- }
- static void run(object sender,RunEventArgs e)
- {
- Console.WriteLine("Run" +e.Distance );
- }
- }
- }
- C# 事件机制实例
- 事件机制实例
- C#事件机制学习
- C#的事件机制
- C#的事件机制
- C#事件处理机制
- C#的事件机制
- C# 事件机制
- C#的事件机制
- C#的事件机制
- c#委托 事件 机制
- C# 事件驱动机制
- C# 事件机制
- C#的事件机制。
- C#的事件机制
- C# 事件机制
- C# 事件机制归纳
- C# 事件机制
- .net FreamWorks 命名规则
- 常用快捷键及常用功能
- 山寨版的portal
- 谷歌官方博客发表的 手机的未来趋势
- 关于js控制 iframe 自动伸缩问题
- C# 事件机制实例
- 如何做好演讲
- 在网页中用JS插入Flash的方法: SWFObject
- 使用eclipse生成javadoc文档
- 中国人要向东方神起道歉?那梅兰芳要向谁道歉 转载
- ARM中的RO、RW和ZI DATA
- JavaScript中escape函数
- 测试相关的书
- ORACLE数据库迁移