VB.NET之旅-事件驱动程序设计

事件驱动程序设计:使用者所操作的每一个动作都视为「事件」,事件会被操作系统所拦截,并传递给应用程序的进程,

  1. 需要在事件中执行的程序代码,会放在事件处理函式(event handler)中
    1. 事件处理函式通常会依附在控件上

 

  1. 也可以独立存在

 

 

  1. 识别事件处理函式
    1. 借 Handles  关键词来识别事件处理函式
    1. 与函式的名称没有相关 …

 

  1. 多对一的事件处理
    1. 多个控件可以使用同一个事件处理函式
      1. 类似 VB6 中的控件数组
      1. 范例: 当 TextBox 控件的文字改变时,设定为「changed」

 

  1. 使用多对一的事件处理的时机
    1. 当不同的控件均呼叫相同的程序代码时
    2. 减少程序代码的撰写

 

  1. 动态的事件处理在执行时期可以动态为事件驱动动态添加或移除事件
    1. 范例: 在按钮的事件中,呼叫 AddHandler 或是 RemoveHandler
      1. 当按下按钮时,就会出现两个Messagebox,第一个显示“TestA”,第二个显示“TestB
      1. address为事件驱动指明添加的哪个事件

 

 

  1. 一对多的事件处理
    1. 单一控件也可以呼叫多个事件处理函式
    1. 以上述动态移除和添加事件为例同一个事件驱动button_click有两个事件分别是TestATestB
    1. 使用时机
      1. 当程序的架构比较松散时
      2. 范例
        1. 在数据更新之后,必须通知所有开启中的窗体
        2. 每个窗体会在 Load 事件中动态加入事件处理
        3. 每个窗体会在 Closed 事件中动态移除事件处理
  1. 与事件相关的信息
    1. 事件处理函式的特征项具有两个参数:
      1. 引发事件的对象
      1. 该事件中特有的参数(e.g. 鼠标的位置)
    1.  在多对一的事件处理中,方便取得事件信息
      1. 范例:我们希望取得引发事件的是哪个控件
  1. 你问我答游戏
    1. 问:事件和事件驱动含义分别是什么?
    1. 答:it's your turn

 

 

 



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值