最近在看c#高级编程,发现c#把很多东西封装得很深,而且很多乱七八糟的术语,有个地方看得很糊涂:
代码:buttonOne.Click+=new EventHandler(Button_click);如果考虑得简单的话这段代码页可以改成
buttonOne.Click+=Button_click;buttonOne.Click是个委托,EventHandler又是个委托,那EventHandler这个委托的作用是什么,为什么要用它,从代码上看好像是委托还可以使用委托(猜测)。书上这点根本没说明白,请高手指点一下.
代码:buttonOne.Click+=new EventHandler(Button_click);如果考虑得简单的话这段代码页可以改成
buttonOne.Click+=Button_click;buttonOne.Click是个委托,EventHandler又是个委托,那EventHandler这个委托的作用是什么,为什么要用它,从代码上看好像是委托还可以使用委托(猜测)。书上这点根本没说明白,请高手指点一下.
解决方案 »
- 如何实现此类功能-》区域填充颜色
- splitter不能设置背景图片吗?
- C# System.Windows.Forms.DataVisualization.Charting.Chart
- 初学Nhibernate,狂报Unknown entity class: BlueF_EduSys.Domain.CUSTOMER
- 请大家帮我看一下陈广老师的这个虚方法的例子
- 请教:关于循环执行到17或者18次就出错的问题(提示是类型转换错误)
- 关于输出流到客户端得问题
- 怎么样绑定DataGrid.怎么样跳转页面.怎么样弹出msgBox提示窗口/
- 关于C#调用C++动态库函数参数为联合问题
- RSA 签名 和 加解密
- C# DataSet导出xml 批处理(循环)得怎么处理
- c#调用C++DLL时的类型转换问题
另外buttonOne.Click不是委托,是事件。
Button_click : 是处理方法,当窗体得到buttonOne.Click这个命令的时候 就用此方法处理,作出响应。
private event delegateMe eventMe;
eventMe += new delegateMe(objA.Method);
eventMe += new delegateMe(objB.Method);
将方法绑定到事件上,当事件发生时,执行绑定的方法
EventHandler 委托
所有asp.net内置控件事件处理函数的签名都和EventHandler或者继承于它的子类保持一致。
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
Object sender,
EventArgs e
)
第一个参数表示引发事件的对象,第二个参数表示引发事件后所要传给处理程序的参数。
不过委托进化成了 3.0的Lambda表达式了