事件驱动程序设计:使用者所操作的每一个动作都视为「事件」,事件会被操作系统所拦截,并传递给应用程序的进程,
- 需要在事件中执行的程序代码,会放在事件处理函式(event handler)中
- 事件处理函式通常会依附在控件上
- 也可以独立存在
- 识别事件处理函式
- 借 Handles 关键词来识别事件处理函式
- 与函式的名称没有相关 …
- 动态的事件处理在执行时期可以动态为事件驱动动态添加或移除事件
- 一对多的事件处理
- 单一控件也可以呼叫多个事件处理函式
- 以上述动态移除和添加事件为例同一个事件驱动button_click有两个事件分别是TestA和TestB
- 使用时机
- 当程序的架构比较松散时
- 范例
- 在数据更新之后,必须通知所有开启中的窗体
- 每个窗体会在 Load 事件中动态加入事件处理
- 每个窗体会在 Closed 事件中动态移除事件处理
- 与事件相关的信息
- 事件处理函式的特征项具有两个参数:
- 引发事件的对象
- 该事件中特有的参数(e.g. 鼠标的位置)
- 在多对一的事件处理中,方便取得事件信息
- 范例:我们希望取得引发事件的是哪个控件
- 事件处理函式的特征项具有两个参数:
- 你问我答游戏
- 问:事件和事件驱动含义分别是什么?
- 答:it's your turn