上海百慧科技有限公司:c#高手入

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 21:43:13
c#里面
有时按钮用的时候要”订阅”
请问”订阅”是什么意思
比如要做一个按钮响应事件
不用”订阅”不是一样可以正确运行吗?

先让我们看看事件是如何使用的:
1.创建一个委托
2.将创建的委托与特定事件关联(.Net类库中的很多事件都是已经定制好的,所以他们也就有相应的一个委托,在编写关联事件处理程序--也就是当有事件发生时我们要执行的方法的时候我们需要和这个委托有相同的签名)
3.编写事件处理程序
4.利用编写的事件处理程序生成一个委托实例
最后把把这个委托实例添加到产生事件对象的事件列表中去,这个添加过程就叫订阅事件

应用observer模式的本质是,这个按钮对于被点击之后所要完成的行为没有作任何的假设与期待。这就为系统行为的变更提供了更多的灵活性。

而且事实上在 WinForm 里双击按钮会自动完成事件的订阅,反倒是重写基类的 OnClick 方法会更麻烦而且显得没有必要。。。