C# 函数参数object sender, EventArgs e

来源:百度知道 编辑:UC知道 时间:2024/06/20 12:32:42
c# 函数中常常会有这两个参数 在分层设计中需要大量的自定义函数来完成代码的切割 请问我在写什么样的函数时需要用这两个参数?

你在自己写自定义函数时,都是自己设定需要的参数和返回值的,一般是用不上object sender, EventArgs e的,因为他是事件数据的类的基类和触发事件的参数,简单的说,就是对象(object)sender导致了某个事件的发生,事件的内容就是(e);和你自己写函数创建参数的意义是一样的,除非你自己写一个BUTTON事件,否则不可能用上.
电脑判断你的事件就是用以上2个参数,对象(object)sender就是你触发的对象,就是button啊radio一类的对象的获取,而EventArgs e,就是获取你的操作事件,是单击还是数据帮定或select选取等,和你定义一个datatable dt大体上是一样的.实际上就是windows获取你的操作对象和操作事件的方式和参数.

.NET推荐的事件参数签名,第一个是事件发起的对象,第二个是事件的参数.比如当你单击一个button就会触发onClick事件,sender就是这个button对象.我们可以直接用(Button)sender.Text改变该按钮的文本了.这在嵌套触发事件时很有用.EventArgs基类一般没什么用,要为事件传递参数就要写一个他的派生类.然后为其增添需要的成员.

至于事件本身可以看成一个封装的订阅者设计模式的.不过它是异步的,而且事件通常用来分离界面逻辑和业务逻辑,在跨线程访问控件的时候要小心

在写一个事件的时候,也就是创建一个委派的实例,(object sender,EventArgs),一个参数是对一个对象的引用,该对象造成事件的引发,另一个参数是一个EventArgs对象,该对象包含有关事件的额外信息,建议楼主去看一下C#里面有关委派和事件的内容,上面应该有详细的解释
例如当用户点击一个按扭,就会启用一个事件private void button_Click(object sender, EventArgs e)
事件来源都是一个类,它负责监视它的环境,并在发生某件事时引发一个事件

object sender:表示触发事件的控件对象
EventArgs e:表示事件数据的类的基类
一般三层中都不是直接传递object sender和EventArgs e的