• C#窗体程序有很多的事件,比如按钮点击事件,双击事件,Form_Load事件,这些事件的实现里都有两个参数(object sender,EventArgs e),什么意思呢?
  • 我们新建一个窗体程序,双击产生Load事件。
  • 我们可以看到,Form1_Load(object sender, EventArgs e)本质就是一个有两个参数的函数。那么函数怎么能够自己调用自己呢?不能。它肯定在某个地方被调用了。
  • 在Form1_Load上鼠标右键点击查看所有引用,如下:

    然后点击这个查到的内容,转到它的调用出:
  • 原来Form1_Load()是在Form1.desinger下面的InitializeComponent()函数里调用的。InitializeComponent()这个函数是在主界面Form类的构造函数里调用的。
  • 我们也知道,在主程序运行的时候,会自动执行Form1类下面的构造函数,进而调用InitializeComponent()函数,InitializeComponent()函数通过里面的Load事件调用From1_Load()函数:
this.Load += new System.EventHandler(this.Form1_Load);

而这个调用,其实是Load事件调用了Form1_Load()函数。
而System.EventHandler是委托,通过new委托的方式调用事件要触发的函数。
鼠标放到EventHandler上转到这个委托的定义里去:

我们可以看到原来是Load事件所在的委托,在定义的时候就有这两个参数(object sender, EventAgrs e),那么可以知道,Form1_Load(object sender, EventAgrs e)函数是被Load事件调用的,所以要和委托EventHandler的参数保持一致。

综上,这两个参数从形式上看,只是为了和EventHandler委托的参数保持一致。


事件通过委托调用的函数,必须和委托的参数保持一致。

C#事件中的两个参数(object sender,EventArgs e)相关推荐

  1. 委托与事件代码详解与(Object sender,EventArgs e)

    http://apps.hi.baidu.com/share/detail/30334344 委托与事件代码详解与(Object sender,EventArgs e)详解 2008-02-04 21 ...

  2. 浅谈事件处理函数中的参数(object sender, EventArgs e)

    (object sender, EventArgs e)是C#常见的事件消息参数,这两个参数具体表示什么意思呢?          sender是事件源,表示触发事件的那个组件, 如(button/l ...

  3. 委托与事件代码详解与(Object sender,EventArgs e)详解

    委托与事件代码详解 using System; using System.Collections.Generic; using System.Text; namespace @Delegate //自 ...

  4. C# 函数参数object sender, EventArgs e

    object sender:表示触发事件的控件对象 EventArgs e:表示事件数据的类的基类 Windows程序有一个事件机制.用于处理用户事件. 在WinForm中我们经常需要给控件添加事件. ...

  5. 对于C# 中事件的参数(object sender, EventArgs e)

    之前一直对事件的理解比较模糊(会用,但不太理解内容) 对于C#中事件的参数也一直不太理解 今天对时间控件 写验证方法,基本内容均一致  就是控件名称不一样  所以打算用泛型的方法 可是不太清楚 怎么把 ...

  6. C# 事件函数参数(object sender, EventArgs e)

    转自:http://blog.csdn.net/wangell/article/details/7387507  1.是事件源,表示触发事件的那个组件    如(button/label/listvi ...

  7. C#事件函数参数 object sender, EventArgs e 理解

    object sender:表示触发事件的控件对象 ,sender参数用于传递指向事件源对象的引用.简单来讲就是当前的对象.使用sender 可以查出此时触发事件的具体控件是谁. EventArgs ...

  8. .net (object sender, EventArgs e) 学习总结

    分析.net中的object sender与EventArgs e http://blog.csdn.net/feihu19851111/article/details/7523118 作者同类文章X ...

  9. 关于后台事件中(object sender, EventArgs e)说明

    sender是事件源 就是指发起这个事件的对象(控件) //表示触发事件的那个控件 比如说你按下按钮,那么sender就是按钮 又如:textboxchange,sender就是该textbox,在事 ...

最新文章

  1. .NET 权限笔记-Attribute+Reflect+Remoting
  2. CentOS7.2基于LNMP搭建Wordpress
  3. 通过CSS让html网页中的内容不可选
  4. 【存储知识学习】第八章-Fibre Channel协议-8.1 FC网络和8.2FC协议中七种端口类型-《大话存储》阅读笔记
  5. php 变量源码,PHP源码中变量存储方式
  6. 数据结构与算法的时间空间复杂度
  7. 合作︱2018CCF青年精英大会首设科技创业竞赛,快来报名吧!
  8. 蓝桥杯 ADV-144算法提高 01背包
  9. zemax仿真半导体激光器
  10. 压力测试-LR工具安装
  11. mysql中文表头转为英文字名_中文名字转换英文名字
  12. Java环境变量配置cobalt strick4.4启动
  13. LTE Attach
  14. GAMES101课程学习笔记—Lec 14(2)~16:Ray Tracing(2) BRDF、渲染方程、全局光照、路径追踪
  15. 基于单片机万用表量程手动自动电阻电流电压设计-全套资料
  16. 进程监控工具 Procmon有Linux版本了
  17. JqGrid 表格基本使用(一)
  18. GitHub 小白入门
  19. linux panic机制
  20. (转)马邑之战与项目管理

热门文章

  1. 02.elasticsearch_read_write模型基础
  2. 搜索引擎反作弊之:整体技术思路
  3. 进程与线程的超级简单形象解释
  4. ES6对象(2):面向对象与类
  5. 【易懂】Java源码角度分析put()与putIfAbsent()的区别——源码分析系列
  6. DbUtils使用原理详解【不懂的来】
  7. C语言简洁代码:1006 换个格式输出整数 (15分)
  8. 【Mark 常用方法】Html中<form>标签作用和属性详解
  9. docker容器简介及安装
  10. websocket中发生数据丢失_什么是WebSocket,它与HTTP有何不同?