首页 新闻 会员 周边

请指教c#委托方面的

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-19 20:11

private void button1_click(object sender,eventarges e)

{

messagebox.show("hello");

}

this.button1.click+=new system.eventhandler(this.button1_click)

我理解的是第四行的代码是对click事件添加方法(前面写的那个),我只能理解到这儿,怎么运行的呢?? 委托在哪里做参数了?还有说后面的代码是对前面的代码的支持,这句是什么意思呢?还有eventhandler里面不是应该有两个参数吗?

太笼统的主页 太笼统 | 初学一级 | 园豆:4
提问于:2013-11-17 20:54
< >
分享
最佳答案
0

EventHandler是个委托,其定义是

delegate void EventHandler(object sender, EventArgs args);

new一个委托与调用一个委托是不同的。可以把这玩艺想成是方法对象。

在C#4.0 (IIRC)中,你可以直接写成

this.button1.Click += this.button1_Click;

这个应该比较容易理解了吧?

收获园豆:10
Todd Pointer | 菜鸟二级 |园豆:379 | 2013-11-17 21:50
其他回答(1)
0

先去把委托了解清楚,去看张子阳的《委托和事件》http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html

秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-17 21:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册