一个我一直遇到,但是却不知道什么意思的问题·高手们帮帮忙啊!

beijixiong04 2006-10-29 12:32:31
sub buttonclick(sender as object,e as eventargs)
sub page_load(source as object,e as eventargs)
中source和sender的作用分别是什么?括号中的作用是什么?
...全文
181 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
blackant2 2006-10-29
  • 打赏
  • 举报
回复
我倒,这个不需要高手们来帮忙吧
自己查查msdn没有关于事件的帮助吗?
股神 2006-10-29
  • 打赏
  • 举报
回复
up
DePaul 2006-10-29
  • 打赏
  • 举报
回复
source,sender是传进来的对像 如果是个BUTTON里的ONCLICK事件则传进来的source是个BUTTON,
pageload里传进来的则是个page
e是个有关source的事件对像,里面存储着source的信息,而用EventArgs这个声明当然是最基类没有什么信息了,但是比如当是GridView的GridViewEditEventArgs时,e就会存着ROW的INDEX,KEY啊什么的一些你有用的信息
xiaomatian 2006-10-29
  • 打赏
  • 举报
回复
呵呵。看热闹
jijl2001 2006-10-29
  • 打赏
  • 举报
回复
激发事件的对象
avisnet 2006-10-29
  • 打赏
  • 举报
回复
source和sender所指的就是发过事件的那个对象。
daishengs 2006-10-29
  • 打赏
  • 举报
回复
简单点就是object类型的一个参数,名称你也可以改的。
blackant2 2006-10-29
  • 打赏
  • 举报
回复
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref2/html/T_System_EventHandler.htm
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler (
Object sender,
EventArgs e
)

C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler (
Object^ sender,
EventArgs^ e
)

J#
/** @delegate */
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public delegate void EventHandler (
Object sender,
EventArgs e
)

JScript
JScript 支持使用委托,但不支持进行新的声明。



参数
sender
事件源。

e
不包含任何事件数据的 EventArgs。

备注
.NET Framework 中的事件模型基于具有事件委托,该委托将事件与事件处理程序连接。引发事件需要两个元素:

标识对事件提供响应的方法的委托。

保存事件数据的类。

委托是一个定义签名的类型,即方法的返回值类型和参数列表类型。可以使用委托类型来声明一个变量,该变量可以引用与委托签名相同的所有方法。

事件处理程序委托的标准签名定义一个没有返回值的方法,其第一个参数的类型为 Object,它引用引发事件的实例,第二个参数从 EventArgs 类型派生,它保存事件数据。如果事件不生成事件数据,则第二个参数只是 EventArgs 的一个实例。否则,第二个参数为从 EventArgs 派生的自定义类型,提供保存事件数据所需的全部字段或属性。

EventHandler 是一个预定义的委托,专用于表示不生成数据的事件的事件处理程序方法。如果事件生成数据,则必须提供自己的自定义事件数据类型,并且必须要么创建一个委托,其中第二个参数的类型为自定义类型,要么使用泛型 EventHandler 委托类并用自定义类型替代泛型类型参数。

若要将事件与处理事件的方法关联,请向事件添加委托的实例。除非移除了该委托,否则每当发生该事件时就调用事件处理程序。

有关事件处理程序委托的更多信息,请参见 事件和委托。

主题 位置
如何:在 ASP.NET 网页中对事件处理程序进行运行时动态绑定 生成 ASP .NET Web 应用程序

示例
下面的代码示例演示不使用事件数据的事件处理程序委托的声明。EventHandler 类是事件委托的类型,sender 是引发事件的对象,而 e 则是不包含任何数据的事件数据对象。示例的第二行代码为类中没有数据的事件定义事件成员。

Visual Basic 复制代码
Delegate Sub EventHandler(sender As Object, e As EventArgs)

Public Event NoDataEventHandler As EventHandler


C# 复制代码
public delegate void EventHandler(Object sender, EventArgs e);
public event EventHandler NoDataEventHandler;


C++ 复制代码
public:
delegate void EventHandler( Object^ sender, EventArgs^ e );

event EventHandler^ NoDataEventHandler;


J# 复制代码
public delegate void EventHandler(Object sender, EventArgs e);

public EventHandler noDataEventHandler = null;

/** @event
*/
public void add_NoDataEventHandler(EventHandler p)
{
noDataEventHandler =(EventHandler)System.Delegate.
Combine(noDataEventHandler, p);
}//add_NoDataEventHandler

/** @event
*/
public void remove_NoDataEventHandler(EventHandler p)
{
noDataEventHandler =(EventHandler)System.Delegate.
Remove(noDataEventHandler, p);
}// remove_NoDataEventHandler




平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。

版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0

.NET Compact Framework
受以下版本支持:2.0、1.0

请参见
参考
System 命名空间
EventHandler
EventArgs
Delegate

其他资源
事件和委托
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-29 12:32
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。