object senderEventArgs e的一些讲解分析和总结.docx

object senderEventArgs e的一些讲解分析和总结.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

说的通俗一些,就是:

有一个叫做EventHandler 的家伙,他会告诉你(主程序),有一些事情发生了:这个事情是谁导致的呢?是某个object类型对象导致的,它用Source或Sender来表示。这个事情是什么事呢?e的内容就是事情的内容了。

至于Source和Sender,没有区别,你想用哪个就用哪个,其实都是一样的。

所以,我们在程序中的事件处理函数就是依赖于这个东西实现的:比方说你点了一个按钮,程序怎么知道应该用哪个函数来处理这个动作呢?那么 EventHandler 这个家伙会告诉程序:button1(sender)被点击(e)了,请调用对应的处理函数。当然这个函数是谁,这个函数要做什么,是由你自己写的。

再深入一层,这个过程实际上就是:你的动作被windows捕获,windows把这个动作作为系统消息发送给程序(可以看message结构),程序从自己的消息队列中不断的取出消息,并在消息循环中寻找对应的处理方式,这时message结构中的类似于sender和e的东东就起到了引导程序使用正确的处理函数的作用。

归根究底,这个sender和e及其一整套的处理方式,只不过是windows消息机制的另外一种表现

罢了。

是C#.NET的.

objectsender发出事件的对象System.EventArgse 对象中的数据

如果是按钮button的话,那sender就是那个button,

e是事件参数,在某些事件里,e用处不大,比如在MouseEventArgs 的Mouse 事件中,可以看到e包括mouse 的坐标值等,以供你的程序使用。

=================================================

(objectsender,EventArgse) 是C#里面的事件响应的代码,结合网上的一些资料,总结如下:object是事件的激发控件,或叫事件源:

具体我们可以用MessageBox.Show(sender.ToString())直接输出,我们可以直接看到;

EventArgs是包含事件数据的类的基类,用于传递事件的细节:

e是事件参数,也就是说在定义事件的类里定义的那些属性,在某些事件里,e用处不大;

所包含的细节多少,根据各种EventArgs的定义而定,如EventArgs就是一个空值,我们在VS环境中右键转到定义处就可以发现其定义是这样:

publicclassEventArgs

{

//摘要:

// 表示没有事件数据的事件。

publicstaticreadonlyEventArgsEmpty;

//摘要:

// 初始化System.EventArgs 类的新实例。

publicEventArgs();

}

我想,这也是网上有的网友说在定义事件时候可以不要EventArgs参数的原因;有的即使在事件定义时定义了它,也不必在事件里理会它;

如MouseEventArgs 是EventArgs的子类,那么它就定义了许多可以输出的值,其定义如下:

//摘要:

// 为System.Windows.Forms.Control.MouseUp 、System.Windows.Forms.Control.MouseDown

// 和System.Windows.Forms.Control.MouseMove 事件提供数据。

[ComVisible(true)]

publicclassMouseEventArgs:EventArgs

{

//摘要:

// 初始化System.Windows.Forms.MouseEventArgs 类的新实例。

//

//参数:

// clicks:

// 鼠标按钮曾被按下的次数。

//

// delta:

// 鼠标轮已转动的制动器数的有符号计数。

//

// Y:

// 鼠标单击的y坐标(以像素为单位)。

//

// button:

// System.Windows.Forms.MouseButtons 值之一,它指示曾按下的是哪个鼠标按钮。

//

// x:

// 鼠标单击的x坐标(以像素为单位)。

publicMouseEventArgs(MouseButtonsbutton,intclicks,intx,inty,intdelta);

//摘要:

// 获取曾按下的是哪个鼠标按钮。

//

//返回结果:

// System.Windows.Forms.MouseButtons 值之一。publicMouseButtonsBu

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档