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

时间:2013-01-23 10:31:28

标签: c# asp.net .net events event-handling

我没有发现.NET Events - What are object sender & EventArgs e?帖子很有帮助。

它主要告诉我们如何在onClick场景中使用参数(对象发送者,EventArgs e),这显然是显而易见的用途。

我的问题是:

忽略onClick功能

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

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

示例会更有帮助: - )

2 个答案:

答案 0 :(得分:2)

嗯,这很简单:

object sender是发出事件的实体 - 在page_load的情况下我很确定它是页面本身,因为页面正在发出事件(所以this == sender应该是真的页)。 EventArgs e很无聊(它是一个基类),但是其他事件会带来更多有趣的类来讲述事件,所以例如onMouseDown-Event会在屏幕上显示鼠标位置的数据。 其他事件可能会带来其他数据 - 但大多数情况下,事件本身和发件人都足以获得所需的所有数据。

答案 1 :(得分:2)

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

  • 它的灵活性和通用性足以服务于许多场景。即使是初学者也可以使用标准模板
  • 类似的签名增加了对模式的熟悉程度,有助于减少初学者的学习时间
  • 在事件代理级别和处理程序级别启用可重用性。

现在,一旦你接受/同意一些标准,你需要坚持下去(即使在某些情况下,如果没有相关的巨额成本,它可能没有意义)。 .NET Fx开发人员决定使用这个标准的事件模板,你会在任何地方看到它。

我们举一个Page_Load的例子 - 这个事件实际上是在Control level宣布的。因此,某些代码可能会选择使用相同的事件处理程序处理多个控件的加载事件,并使用sender参数来应用特定的事情。