“事件”的疑问

beautiful_melody 2011-09-19 03:45:41
例如在使用Button控件时我们经常指定其一个点击方法:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_click" />
OnClick本是Button类的一个方法 其在MSDN中的解释如下:
protected virtual void OnClick(EventArgs e)
这说明OnClick方法只接收一个参数啊,
而我们为什么在定义Button1_click方法时要这么定义:
protected void Button1_click(object sender,EventArgs e)
这不是和OnClick的方法不符吗

...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
红魔大卫 2011-09-19
  • 打赏
  • 举报
回复

看贴回贴


是一种美德


帮楼主顶是一种义务.
「已注销」 2011-09-19
  • 打赏
  • 举报
回复
呵呵,事件和委托不过关啊。protected virtual void OnClick(EventArgs e)是触发事件用的啊。声明

声明委托:ClickHandler(object sender, EventArgs e)

声明Click事件:ClickHandler Click;

protected virtual void OnClick(EventArgs e)
{
if(Click!=null)
{Click(this,EventArgs e);}
}

认真看看委托和事件就行了,不太难的。
cpp2017 2011-09-19
  • 打赏
  • 举报
回复
Button1_click 不是Button的方法,而是当前页面的一个方法(事件),只不过这个方法必须要满足Click事件类型的委托。
fangyuantdy 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nevermore_0923 的回复:]

protected virtual void OnClick(EventArgs e)
[/Quote]
别忽悠人啊,虚方法重写能改变参数列表?
弦弦 2011-09-19
  • 打赏
  • 举报
回复
protected virtual void OnClick(EventArgs e)

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧