繁体   English   中英

.Net事件-除onClick以外的事件在事件中使用什么(对象发送者,EventArgs e)参数

[英].Net Events - What use (object sender, EventArgs e) parameters give in Events other than onClick

我没有找到.NET事件-什么是对象发送者和EventArgs e? 发布很有帮助。

它主要说明在onClick情况下如何使用参数(对象发送者,EventArgs e),这是很明显的用法。

我的问题是:

忽略onClick功能

即在Page_Load,Init和其他页面事件的情况下

这些(对象发送者,EventArgs e)参数的用途是什么?

例子会更有用:-)

好吧,这很简单:

object sender是发出事件的实体-在page_load的情况下,我很确定它是页面本身,因为页面正在发出事件(所以this == sender在页面中应为true)。 EventArgs e很无聊(它是一个基类),但是其他事件带来了一些更有趣的类,这些类可以告诉您有关该事件的信息,因此,例如onMouseDown-Event将带来有关鼠标在屏幕上的位置的数据。 其他事件可能会带来其他数据-但大多数情况下,事件本身和发送方足以获取所需的所有数据。

使用标准的(类似)签名,例如(sender, eventargs)是有益的,因为

  • 它足够灵活且通用,可以处理多种情况。 即使是新手也可以充当标准模板
  • 相似的签名增加了对模式的熟悉度,有助于减少初学者的学习时间
  • 在事件委托级别和处理程序级别均启用重用性。

现在,一旦您接受/同意某些标准,就需要遵守这些标准(即使在某些情况下,只要没有与此相关的巨额成本,这可能就没有意义了)。 .NET Fx开发人员已决定使用此标准事件模板,并且到处都会看到什么。

让我们以Page_Load为例-该事件实际上是在Control级别声明的。 因此,某些代码可能选择使用同一事件处理程序来处理多个控件的load事件,并使用sender参数来应用特定内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM