首先,了解一下与事件和委托有关的几个类和属性:
Delegate, MulticastDelegate, EventHandler, EventHandlerList, EventHandlerList.ListEntry, Control, Component

Control的Events属性是由System.ComponentModel.Component 继承而来,它是EventHandlerList的实例.

EventHandlerList类有三个重要的方法:

      public void AddHandler(object key, Delegate value);
      public void RemoveHandler(object key, Delegate value);
      private ListEntry Find(object key);

示例:我们要为当前控件添加一个点击事件(Click).
第一步:创建一个静态只读的属性
public static readonly object ClickEvent=new object();  //它是以后事件查找委托的键(key),
第二步:注册事件
public event EventHandler Click
{
   add
   {
       base.Events.AddHandler(ClickEvent,value);
   }
   remove
  { 
    base.Events.RemoveHandler(ClickEvent,value);
   }
}
----
以下是Events的定义:

private EventHandlerList events;
protected EventHandlerList Events
{
      get
      {
            if (this.events == null)
            {
                  this.events = new EventHandlerList();
            }
            return this.events;
      }
}

转载于:https://www.cnblogs.com/McJeremy/archive/2008/06/12/1218263.html

控件中的Events个人理解。相关推荐

  1. matlab中axes显示,求助:在matlab的axes控件中显示图像

    利用plot命令重复刷新显示动画效果...本想在axes控件中显示,可是只有第一次plot命令在控件中显示,接下来的都是另开一个画图窗口显示图片..怎样让图片都在axes控件中显示呢?求高手指点. 附 ...

  2. C# ListBox控件中item换行 C#重绘ListBox项

    C# ListBox控件中item换行 C#重绘ListBox项 WindowsForm项目开发中,Listbox控件item数据项,只能一条数据显示在一行,有的时候内容很长,体验就非常之差.简直要歇 ...

  3. C#+AE 调整TOCControl控件中图层的显示顺序

    基本思路如下:利用鼠标左键将需要调整顺序的图层移动至目标位置. ①需要涉及到TOCControl的OnMouseDown事件来获取要调整的图层, ②OnMouseUp事件获得目标图层和索引号, ③再利 ...

  4. 用户控件中动态加入脚本引用

    用户控件中动态加入脚本引用,添加前先判断是否已经有引用,没有才添加. //××××.ascx protected void Page_Load(object sender, EventArgs e){ ...

  5. [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十三:在DetailsView控件中使用TemplateField...

    导言 比起BoundField.CheckBoxField.HyperLinkField以及其他的那些数据字段控件(data field controls)来说,TemplateField提供了一种高 ...

  6. onmouseover和onmouseout在Repeater控件中应用

    如果你曾看过这篇,http://www.cnblogs.com/insus/articles/1411057.html ,它是在GridView控件中演示,但是它的方法在Repeater控件是无法复制 ...

  7. 关于从页面中获取用户控件中的其它控件(如DropDownList)事件的方法

    在项目中经常把一些经常使用的代码做成用户控件以提高代码的可重用性, 一个经常遇到的就是在页面中调用用户控件中的服务器控件的事件,下面给出简单的代码示列. 我们在一个用户控件(MaterialRepor ...

  8. 在用户控件中用户登录后台脚本判断

    在用户控件中用户登录后台脚本判断写法  if (!IsPostBack)         {                         imagelogin.Attributes.Add(&qu ...

  9. html怎样添加日历控件,向日历控件中添加自定义内容

    向日历控件中添加自定义内容 String[][] holidays; void Page_Load(Object Sender, EventArgs e) { holidays = new Strin ...

最新文章

  1. jenkins构建一个maven项目[五]
  2. 隔空作画,握拳清屏,这个手部跟踪项目火了,在线可玩
  3. P9 线性系统状态空间分析-《Matlab/Simulink与控制系统仿真》程序指令总结
  4. ExtJs学习笔记(21)-使用XTemplate结合WCF显示数据
  5. Python中的相对文件路径的调用
  6. Linux地图投影Proj4应用,Proj.4简介与使用
  7. CMMI 项目监督与控制(PMC)
  8. python vb 哪个好学_最难学的七大编程语言,VB 第一,Python垫底,看你学的排第几...
  9. PHP switch问题
  10. java8新特性——Stream流
  11. QT的QWebEngineView内存泄漏
  12. 数据库SQL语句之外键
  13. 深入浅出数据分析 - 直方图
  14. 如何将ipad大文件传输到window PC
  15. 8.5 向量应用(三)——知识补充和梳理(夹角、距离和平面束)
  16. 有没有手机版_漫威定制版智能手机壳 Galaxy S10的小伙伴不容错过
  17. h5调用Android 的方法
  18. 网络运维系列:GoDaddy Shell DDNS配置
  19. 好心情:长期服用抗抑郁药,怎么把肝损伤降到最低?
  20. TCL脚本学习(过程与文件读写)

热门文章

  1. 谷歌逐步取消对IE6的支持
  2. 十个习惯让你精通新的开发技术
  3. c打印无符号整数_C语言基础知识:printf的输出格式,C/C++语言编程讲解
  4. MATLAB对图片格式批量转换
  5. linux 磁盘挂载sde,linux lvm挂载新的硬盘并且扩容
  6. 牛客网-数据结构笔试题目(三)-博弈论圆圈游戏(Circle Game)(附源码)
  7. html中给文章怎么设置行高,css如何设置行距?
  8. mysql5.7环境,MySQL-5.7-线上生产环境部署
  9. 中国计量大学调剂计算机技术,2020年中国计量大学硕士研究生招生调剂公告
  10. Veil生成免杀payload 渗透win10 获取靶机shell