委托和事件可不可以这样理解

yishuihepan 2010-09-26 05:20:14
委托是,将一个方法作为另一个方法的参数时,参数(方法)的类型。

事件是通过委托,作为一个参数,传入另一个方法,并在该方法内自动触发的方法。


能不能通过委托和事件解释下下面的这个方法:

private void ButtonKey_Click(object sender, EventArgs e)
{
this.Loginbutton_Click(null, null);

}

那里是委托?那里又是事件?
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mydear303 2010-09-27
  • 打赏
  • 举报
回复


//委托,后台代码生成的
this.ButtonKey.Click += new System.EventHandler(this.ButtonKey_Click);

//事件,当你以页面上双击一个Button按钮时你写逻辑代码的地方
private void ButtonKey_Click(object sender, EventArgs e)
{
this.Loginbutton_Click(null, null);
}

thomas860 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 yishuihepan 的回复:]
委托是,将一个方法作为另一个方法的参数时,参数(方法)的类型。

事件是通过委托,作为一个参数,传入另一个方法,并在该方法内自动触发的方法。

能不能通过委托和事件解释下下面的这个方法:

private void ButtonKey_Click(object sender, EventArgs e)
{
this.Loginbutton_Click(null, null)……
[/Quote]

this.Loginbutton_Click(null, null)我想楼主的困惑在这里,这里只不过是“手动”调用了事件处理方法,不涉及事件触发和委托调用
风尘浪子 2010-09-26
  • 打赏
  • 举报
回复
5楼讲得好,形容得够贴切。
补充一点,从类型的角度来看,事件是一种特殊的委托。
ckp00001 2010-09-26
  • 打赏
  • 举报
回复
委托是房产中介代理,房产买卖双方的买卖是通过这个中介代理来实行的。
房屋买卖的一方是事件和方法,另一方是调用者,他们之间并不见面;
他们可跨地区(类,或线程)进行房产的买卖.
bourbon1795 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 guhonglangzi 的回复:]

引用 1 楼 bourbon1795 的回复:
可以这样理解。

你给的是个方法。委托和事件在.Designer.cs里面
委托是EventHandler系统定义的委托。


可不可以这样理解:“private void ButtonKey_Click(object sender, EventArgs e)”是实例化单击事件委托的方法。单击鼠标触发事件,通过委托,调用次实现方法。
……
[/Quote]
可以!
guhonglangzi 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bourbon1795 的回复:]
可以这样理解。

你给的是个方法。委托和事件在.Designer.cs里面
委托是EventHandler系统定义的委托。
[/Quote]

可不可以这样理解:“private void ButtonKey_Click(object sender, EventArgs e)”是实例化单击事件委托的方法。单击鼠标触发事件,通过委托,调用次实现方法。
xiaoyi_nuo 2010-09-26
  • 打赏
  • 举报
回复
事件就是你点击属性的时候,那个闪电框符号下所有的都是事件,简单来讲就是发生了一件事,比如单击,数据绑定什么的,委托就是一个方法,而这个方法呢,它的参数是另一个方法罢了
bourbon1795 2010-09-26
  • 打赏
  • 举报
回复
可以这样理解。

你给的是个方法。委托和事件在.Designer.cs里面
委托是EventHandler系统定义的委托。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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