首先要明确的一点,事件可以看成一个字段,或者一个属性。一个类有一个Event类型的字段,就说明他拥有一个事件,而Event类型需要定义一个委托delegate类型
所以,Net中的事件处理模型可以归纳如下:
1.定义需要的委托类型 
2.在需要定义事件的类EventClass中定义事件属性
3.在需要处理事件的类ProcessEventClass中根据相应的委托类型定义事件处理函数
4.注册事件处理程序,并根据不同的情况激活

示例程序如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace EventExample
{
  class Program
  {
    static void Main(string[] args)
    {
        EventClass eventclass=new EventClass();
        ProcessEventClass processeventclass=new ProcessEventClass();
        //订阅事件
        eventclass.click+=new EventClass.EventHandler(processeventclass.Process);
        Console.WriteLine("触发事件...");
        eventclass.InvokeEvent();
        Console.WriteLine("完毕.");
    }
  }

class ProcessEventClass         
  {
    //事件处理程序
    public void Process(object o,EventArgs e)
    {
        Console.WriteLine("I have processed the event!");
    }
  }

class EventClass
  {
    //定义事件使用的委托
    public delegate void EventHandler(object o, EventArgs e);
    //定义事件
    public event EventHandler click;

//此处以函数代码方式激活,实际应用可能不会如此。如在服务器控件中就以控件事件激活之
    public void InvokeEvent()
    {
        if (click!=null)
      {
          click(new object(),new EventArgs());
      }
    }
  }
}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sshhbb/archive/2011/02/25/6207471.aspx

转载于:https://www.cnblogs.com/shanghe/archive/2011/04/15/2017350.html

.Net中的事件处理模型相关推荐

  1. java事件处理模型_从零开始理解JAVA事件处理机制(3)

    我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...

  2. Android中的事件处理机制

    Android提供了强大的事件处理机制,它包括两套处理机制: 1.基于监听的事件处理 2.基于回调的事件处理 对于Android基于监听的事件处理,主要的做法是为Android界面组件绑定特定的事件监 ...

  3. Android菜鸟的成长笔记(11)——Android中的事件处理

    原文: [置顶] Android菜鸟的成长笔记(11)--Android中的事件处理 Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子: 基于回调 ...

  4. 13、Java Swing事件监听:事件处理模型和事件监听器

    事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等.事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的. 当事件发生 ...

  5. 【转】理解JavaScript中的事件处理

    这篇文章对于了解Javascript的事件处理机制非常好,将它全文转载于此,以备不时之需. 转载地址:http://www.cnblogs.com/binyong/articles/1750263.h ...

  6. nginx优化-nginx事件处理模型优化use epoll;

    性能优化-nginx事件处理模型优化use epoll; 在events区块中添加 use epol; 在主配置文件nginx.conf中配置 [root@web01 conf]# cat /appl ...

  7. Nginx进程以及事件处理模型

    Nginx进程模型 多进程 一个Master进程 多个Worker进程 Master进程 管理Worker进程 对外接口 接收外部的操作(信号) 对内转发 根据外部的操作的不同 通过信号管理Worke ...

  8. Android中的事件处理总结

    Android中的事件处理总结 Android系统对动作做出的响应机制就是事件处理.Android提供了两种事件处理机制. 基于监听的事件处理机制 基于回调的事件处理机制 一.基于监听的事件处理机制 ...

  9. SharePoint 2010中的客户端模型

    1.介绍 客户端模型是SharePoint 2010才提供的,可以更灵活的在任何客户端设备中操作SharePoint对象,在2007版本中没有客户端模型,2010中有三种客户端模型JavaScript ...

最新文章

  1. 快手上市!员工暴富!人均1300万港元!
  2. 最高70万!深圳大学高薪招150名教师引关注
  3. 给你的Flex程序添加深链接和分析-其实比你想象的要简单
  4. JavaScript 如果拥有多线程能力会怎样?
  5. JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室
  6. 数据vs.算法,究竟谁更重要
  7. 【算法导论】学习笔记——第9章 中位数和顺序统计量
  8. ORACLE基本配置
  9. git配置密钥后无法pull
  10. SqlServer自增长字段归零
  11. call及apply的用法理解
  12. java有用还是c有用_这周的有用资源
  13. python saveas_Python中正确的Save-As函数
  14. 【HBZ】生产环境下如何解决CPU飙高 与排查CPU飙高问题 与如何解决内存泄漏
  15. 【质量管理】SMT电子厂超实用的六西格玛(6σ)质量管理工具一览表!
  16. 微软商店、应用、网站无法登录
  17. 【物联网服务NodeJs-5天学习】第三天实战篇③ ——基于MQTT的环境温度检测
  18. MSC Marc英文界面汉化
  19. 3ds Max: Advanced Materials 3DS Max 教程之高级材质 Lynda课程中文字幕
  20. 文本编辑时切换中英文输入状态

热门文章

  1. html5字体转换,图片转字符画html5版
  2. 企业IT数字化能力和运营效果成熟度模型及系列标准解读
  3. 【转】vb获得网络时间的函数
  4. android webview recyclerview,文章详情页的实现——WebView和RecyclerView混合
  5. python绘制图像直方图_Python – 计算图像的直方图
  6. 对php程序的理解,小魏谈对于php程序的理解
  7. c java交互_C和Java程序之间的交互/通信
  8. Python入门之PyCharm中目录directory与包package的区别
  9. Nagios 监控
  10. mysql 最基础的日常操作