C#事件演示程序1)——一个最简单的C#事件处理程序
2006-10-04 13:11
746 查看
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication13
...{
/**//// <summary>
/// 事件演示程序
/// </summary>
class Program
...{
static void Main(string[] args)
...{
MyEvent myEvent = new MyEvent();
//注册事件(或者说订阅事件)
myEvent.wakeUp += new EventHandler(ShowMessage);
//在外部触发事件
myEvent.OnEvent();
}
/**//// <summary>
/// 事件处理程序(演示)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void ShowMessage(object sender,EventArgs e)
...{
Console.WriteLine("hello,it's time to wakeup!");
}
}
/**//// <summary>
/// 定义事件的类
/// </summary>
/// <remarks>
/// 在代理的基础上,事件实现了了另一个重要的机制:内部调用外部
/// 不能不佩服微软构思的巧妙,将代理稍一封装,就做成了功能强大的事件机制.
/// 事件最本质上的作用就是: 通知功能.能自动在某个事件触发时通知别的类或程序,
/// 执行一些代码.
/// </remarks>
public class MyEvent
...{
/**//// <summary>
/// 声明事件
/// </summary>
public event EventHandler wakeUp;
/**//// <summary>
/// 触发事件的函数,供外部调用,来触发该对象的事件
/// </summary>
public void OnEvent()
...{
RaiseMyEvent();
}
private void RaiseMyEvent()
...{
if ( wakeUp != null )
...{
//复制一份,避免多线程访问时产生NullReferenceException.在此仅供演示.
EventHandler bkWakeUP = wakeUp;
//调用外部的事件处理程序
bkWakeUP(this, new EventArgs());
}
}
}
}
相关文章推荐
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- C#2.0 一个完整的事件处理程序示例
- 使用事件处理创建一个简单的绘图实例程序 python
- 一个简单的事件处理程序
- 分享一个简单的资源管理器程序,主要是演示下LINQ在C#开发中的运用
- C#事件演示程序2)——写事件的三点注意,以及常用的事件处理模型
- jquery delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数
- 用C#写一个简单的WINDOWS服务程序
- 一个简单的四则运算程序C语言实现--无法处理括号
- 文本框的简单事件处理程序
- 作业:文本框的简单事件处理程序
- java例程练习(简单的画图程序[鼠标事件处理])
- C#:一个增强的TcpListener(*)服务器演示程序及源代码下载
- 把C#程序(含多个Dll)合并成一个Exe的超简单方法
- 用C#写一个简单的WINDOWS服务程序
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- C#中的事件处理程序
- C#写的照片上传代码--建立一个一般处理程序
- 一个简单的C#多线程间同步(事件方法)的例子
- C#程序(含多个Dll)合并成一个Exe的简单方法