C# .Net事件-除了onClick之外,参数(objectsender,EventArgs e)在事件中给出了什么用途
我觉得这篇文章没什么帮助 它主要说明在onClick场景中如何使用参数(objectsender、EventArgs e),这是显而易见的用法 我的问题是: 忽略onClick函数 i、 e在页面加载、初始化和其他页面事件的情况下 这些(对象发送器、事件参数)参数有什么用途C# .Net事件-除了onClick之外,参数(objectsender,EventArgs e)在事件中给出了什么用途,c#,asp.net,.net,events,event-handling,C#,Asp.net,.net,Events,Event Handling,我觉得这篇文章没什么帮助 它主要说明在onClick场景中如何使用参数(objectsender、EventArgs e),这是显而易见的用法 我的问题是: 忽略onClick函数 i、 e在页面加载、初始化和其他页面事件的情况下 这些(对象发送器、事件参数)参数有什么用途 示例会更有帮助:-)很简单: object sender是发出事件的实体-在页面加载的情况下,我很确定它是页面本身,因为页面正在发出事件(因此this==sender在页面中应该是真的)。 EventArgs e很无聊(它是
示例会更有帮助:-)很简单:
object sender
是发出事件的实体-在页面加载的情况下,我很确定它是页面本身,因为页面正在发出事件(因此this==sender
在页面中应该是真的)。
EventArgs e
很无聊(它是一个基类),但其他事件会带来更有趣的类,这些类会告诉我们一些关于事件的信息,因此例如onMouseDown事件会带来关于屏幕上鼠标位置的数据。
其他事件可能会带来其他数据-但大多数情况下,事件本身和发送方足以获取所需的所有数据。这很简单:
object sender
是发出事件的实体-在页面加载的情况下,我很确定它是页面本身,因为页面正在发出事件(因此this==sender
在页面中应该是真的)。
EventArgs e
很无聊(它是一个基类),但其他事件会带来更有趣的类,这些类会告诉我们一些关于事件的信息,因此例如onMouseDown事件会带来关于屏幕上鼠标位置的数据。
其他事件可能会带来其他数据-但大多数情况下,事件本身和发送者足以获得所需的所有数据。使用标准(类似)签名,如(发送者,事件参数)
,是有益的,因为
- 它的灵活性和通用性足以服务于许多场景。作为标准模板,即使对于新手也是如此
- 类似的特征增加了对模式的熟悉度,有助于减少初学者的学习时间
- 支持事件委托级别和处理程序级别的可重用性
Page\u Load
为例—此事件实际上是在中声明的。因此,一些代码可能会选择使用相同的事件处理程序处理多个控件的加载事件,并使用sender
参数应用特定的内容 使用标准(类似)签名,如(发送方,事件参数)
是有益的,因为
- 它的灵活性和通用性足以服务于许多场景。作为标准模板,即使对于新手也是如此
- 类似的特征增加了对模式的熟悉度,有助于减少初学者的学习时间
- 支持事件委托级别和处理程序级别的可重用性
让我们以
Page\u Load
为例—此事件实际上是在中声明的。因此,一些代码可能会选择使用相同的事件处理程序处理多个控件的加载事件,并使用sender
参数应用特定的内容 你所说的页面本身是什么意思??页面加载之前执行的事件数为4个Pre_Init、Init、InitComplete和Preload那么它们呢?:/EventArgs e是无聊的,这并不能证明事情是正确的:-),因为如果它存在,它就有一些用处。。如果你有什么想法,我想再启发你一点吗?:-)这4个事件是aspx生命周期的一部分(如果你想知道更多,在页面加载后会有很多事件)。EventArgs很无聊,因为它是一个基类,看看还有哪些其他子类存在,哪些可能不是“无聊的”兄弟,我已经经历过了。。我只想说它们是否是生命周期事件。。应该不需要参数!您可以在自己的(自定义)IHttpHandler中执行以下操作:var p=new MyPage();p、 OnPageLoad+=MyEventHandlerForThePage代码>在那里,您可能需要发件人。您所说的页面本身可能是什么意思??页面加载之前执行的事件数为4个Pre_Init、Init、InitComplete和Preload那么它们呢?:/EventArgs e是无聊的,这并不能证明事情是正确的:-),因为如果它存在,它就有一些用处。。如果你有什么想法,我想再启发你一点吗?:-)这4个事件是aspx生命周期的一部分(如果你想知道更多,在页面加载后会有很多事件)。EventArgs很无聊,因为它是一个基类,看看还有哪些其他子类存在,哪些可能不是“无聊的”兄弟,我已经经历过了。。我只想说它们是否是生命周期事件。。应该不需要参数!您可以在自己的(自定义)IHttpHandler中执行以下操作:var p=new MyPage();p、 OnPageLoad+=MyEventHandlerForThePage代码>在那里你可能需要发件人。你的答案涵盖了大部分内容,但我没有得到你在最后一段中所说的情景。。因为据我所知,ISAPI从HttpModule调用HttpHandler,然后调用页面事件,最后调用模块事件。控件如何调用页面事件,即页面加载。。因为它们是按顺序执行的!!你能举个例子吗???@khurram,我看到的这个例子只是强调了一个有效的用例