【Access小品】亚投行--事件概述-煮江品茶
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-教程


【Access小品】亚投行--事件概述

发表时间:2015/3/30 14:44:38 评论(5) 浏览(8090)  评论 | 加入收藏 | 复制
   
摘 要:【Access小品】亚投行 -- 事件概述
正 文:
  这几天新闻热议的是亚投行的筹建,目前已有包括亚洲大多数国家和地区,以及部分西方发达国家响应中国的倡议,并申请加入亚投行。美国人搞了些小动作,但效果不佳,其最坚定的盟友英国、德国、法国、意大利、澳大利亚和韩国都提出参与亚投行。亚投行的筹建是一个大的事件,这个事件会在相当一段时间内对世界经贸格局产生重大影响。

  说到事件,版友们并不陌生,大多数人都会写一个按钮的单击事件来实现一些功能。但是事件并不简单,以至于很多初学者对此很是挠头。最近不少版友问及这方面的问题,于是觉得对此需要说道说道概述概述。

  什么是事件?事件包含什么要素?在计算机术语中,事件定义为“可识别的操作”。简单的讲,就是一些规定动作发生了,这些发生了的规定动作就是事件。比如按钮单击了,文本框的数据更新了等等。“可识别的”就是某种程序语言程序框架规定了的,比如文本框规定有获得焦点事件,所以文本框可以识别焦点事件。而标签没有获得焦点事件,所以它也就无法识别这种事件。再比如你打算将鼠标悬停在某个控件上,使得这个控件背景色发生改变,这种功能在Access中很难实现,其原因在于Access识别不了这个悬停操作。而同样的要求对于Web网页来说,是一个简单愉快的事情,原因是网页具有这个可识别的操作。

  那么事件究竟包含一些什么要素呢?事件至少包含触发者和事件处理器这两个要素。窗体和控件都可能是事件的触发者,当然在ADO或者SQL SERVER中还有更虚拟化的触发者。触发者通常是一个对象,它们可能是视觉可见的,也可能是视觉不可见的,无论如何他们都是一个对象。所以事件从属于对象。处理器是什么呢?处理器就是对象做出某种可识别的操作后,你所需要在这个操作做出的反应。比如单击按钮,你希望筛选子窗体中的数据,处理器就担负起筛选的功能。

  在Access中,处理器是灵活的,可以有多种表现形式。它可以是一个内置的函数或者自定义的函数,也可是一个宏。比较常用的是一个特定的子程序,这个特定的子程序的名称是控件(或窗体)名加下划线加事件名(形同Private Sub Command0_Click()),同时它还有规定的形参。有意思的是,除了这种特定的子程序外,Access是不能将其他自定义子程序直接作为事件处理器的(意指不能直接绑定)。但是可以通过间接的调用将自定义子程序作为事件处理器。在本文所附的动画中,可以看到几种事件处理器的处理方式。

  其实,事件的要素不仅仅包含触发者和事件处理器。如果你知道点javascript,那么你一定知道冒泡事件。比如你单击td标签,那么这个单击的操作,还可以引起tr和table的单击事件发生,如果这个table还包含在一个div中,那么它还引起div的单击事件发生。这说明什么?这说明事件除了有触发者外,还有响应者,每个响应者还可能具有不同的事件处理器。所以事件的响应者本来是一个很重要的概念。但是为什么Access中看不到这个重要角色呢?原因在于Access这类的窗体处理程序中,触发者和响应者为同一个对象,也就是自己触发并由自己响应。


  更有甚者,在WPF中,有一种叫做路由事件的事件类型,它除了有触发者、响应者、事件处理器外,还存在事件的路由。这种路由可能是由下向上的冒泡事件,也可能是由上向下的隧道事件。所以事件的要素在不同的语言和程序框架中,是有所不同的。不过你现在可以记住的只是:事件至少包含触发者和事件处理器。

  事件还会存在前后秩序。比如打开一个窗体,那么这个打开的操作可能引起一系列有先后秩序的事件,比如打开、加载等。光标进入一个文本框,那么可能引起进入、获得焦点事件。如果在这种可能引起多个事件的操作上,对不同事件都分别写处理器,就一定需要慎重了。原因在于事件有先后顺序,你的不同处理器是否考虑了这个顺序。另外事件之间可能有吞并的关系,比如单击事件可能吞并掉双击事件的某些功能。

  回到亚投行的筹建这个事件上来。我们可以这样来看这个事件:中国是亚投行的事件触发者,中国和其他各国是这个事件的响应者,各国对亚投行筹建会采取各种自己的政策和措施,这些政策和措施就是事件响应者的事件处理器。由于目前不知道各国会如何行动,以及相互之间如何博弈,所以亚投行的结果尚未可知。不过事件已经引发,处理过程正在继续,结果终究会产生。


示例:点击下载此附件


视图:
 

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access小品】不打开Excel读取标签名  【煮江品茶  2014/11/27】
【Access小品】朝令夕改--为何查询中不建议用Iif  【煮江品茶  2014/12/16】
【Access小品】碧落黄泉--数据的层次结构设计  【煮江品茶  2014/12/16】
【Access小品】解决个球--问题的高级处理手段  【煮江品茶  2014/12/17】
【Access+Vb.Net小品】双子座--校车安排示例  【煮江品茶  2014/12/26】
常见问答
技术分类
相关资源
文章搜索
关于作者

煮江品茶

文章分类

文章存档

友情链接