c#中点击事件的本质
2016-10-05 21:37
323 查看
事件是一种委托。你这个不是事件,只是一个名为 button1_Click() 的方法(函数)而已。 button1.Click 才是事件,事件需要绑定方法,例如 button1.Click += new EventHandler(button1_Click);,代表着 button1 的 Click 事件绑定到了 button1_Click() 方法上,或者说 button1_Click() 方法订阅了 button1 的 Click 事件。这样,当 button1 触发 Click 事件时,就会执行 button1_Click() 方法。 一个事件可以绑定多个方法,按照绑定的先后顺序依次执行。 事件是由对象监听的,本质上是C#中的代理,或者叫做委托,button1.Click += new EventHandler(button1_Click);中,Click是一个委托,该委托在Click行为发生的时候会广播,对于广播链中的函数,亦即事件处理函数,则采取相应的操作。你这里的就是事件处理函数,该函数带两个参数,一个是类型为object的形参sender,相当于是这个函数的发出者,因为事件处理函数可能被多个事件注册,例如有多个Button按钮都注册了该事件处理函数,因此,你可以在代码中使用: Button btn=(Button)sender; 将其转化为Button,再执行一些其他的操作,确定事件的发出者是谁。 而EventArgs则是事件参数的意思,即Event Arguments的缩写,e相当于是携带了这个事件的一些消息。对于一些事件,例如MouseDown、KeyPress等,其中携带有光标的坐标或者按下的键值等。 从形式上看确实像函数 声明权限 返回值类型 方法名(参数。。) 如单价事件参数: object 代表当前单价对象(即按钮),EventArgs 与事件有关的属性等 但从运行机制上看却与函数有一定的区别 如如事件如何触发、怎样触发、谁控制事件的处理等的涉及消息机制 包括 消息发送 消息接收器 等
相关文章推荐
- C#委托本质探索 五、点击事件的真实原理
- 探寻C#事件本质
- C#事件-探寻事件本质
- C#.NET 中按钮点击一次刷新,第二次才会触发按钮事件解决办法
- 谈一谈C#事件的本质
- c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
- C#事件演示程序3)——体会事件更本质的东西
- coco笔记:连续点击相应事件处理(使用协同)_ Java和C#
- c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
- c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
- c# wince/mobile 下支持触屏点击的 textbox 点击事件
- c# tabcontrol 点击不同的tabpage 触发不同的事件
- C# 模拟鼠标点击事件
- C# 点击鼠标右键引发的事件
- C#任意位置 模拟鼠标 点击 事件 并获取 鼠标 位置 源码
- C# :webBrowser 框架网页 - 赋值 - 点击事件 - 框架网页中下拉框赋值
- c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
- C#事件-探寻事件本质
- c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件的方法
- c#调用按钮点击事件