关于(object sender, System.EventArgs e)中参数sender和e的问题。

(1)请具体解释一下(objectsender,System.EventArgse)的含义。(2)既然在(objectsender,System.EventArgse)中... (1)请具体解释一下(object sender, System.EventArgs e)的含义。 (2)既然在(object sender, System.EventArgs e)中sender和e都是参数,那么为什么每次在定义事件时它们都不变呢?我看到在很多事件代码中那些代码都是照写(object sender, System.EventArgs e),根本就不用改变sender和e,参数不是应该随实际情况变化的吗? 展开
 我来答
皋渺尉慈心
2019-03-08 · TA获得超过3821个赞
知道小有建树答主
回答量:3229
采纳率:24%
帮助的人:212万
展开全部
您好,
具体的说来,对于系统提供的类的事件,Sender参数只是简单地传递了指向引发事件的那个类的实例的一个引用,而e是EventArgs类型的参数,它包含了事件所携带的信息。
至于第二个问题,我不是很明白“我看到在很多事件代码中那些代码都是照写(object
sender,
System.EventArgs
e),根本就不用改变sender和e,参数不是应该随实际情况变化的吗?”这句话的意思,比如说一个按钮控件,当它的单击事件被引发时,系统会自动把这个按钮对象作一个类型强制转换然后赋值给Sender,然后传递e。之所以都是这个形式是因为大多数情况下这些简单的事件不需要传递特殊的信息,您可以看一下KeyPress事件,这个事件就包含一个KeyPressEventArgs,包含了按键的信息。
另外需要明确的一个概念就是类似这样形式的方法:
private
void
Button_Click(object
sender,
EventArgs
e)
这样的方法称为事件处理方法,它类似于C语言中的事件处理函数,它是在运行时由系统调用的,因此它的参数不会变化,就好像我们写方法时的方法名一样。
希望这些信息对您有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式