每个窗体模块都包含事件过程,即代码部分,其中有为响应特定事件而执行的指令。窗体可包含控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自任何事件过程的调用都作出响应。
可将那些与特定窗体或控件无关的代码放入另一类型的模块标准模块(文件扩展名为 .BAS )中。一个过程可能用来响应几个不同对象中的事件,应该将这个过程放在标准模块中,而不应在每一个对象的事件过程中重复相同的代码。
用类模块(文件扩展名为 .CLS )创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块既包含代码又包含数据,可视为没有物理表示的控件。
在第四章工程的管理中叙述了哪些部件可以添加到应用程序中,本章将说明如何将代码写到构成应用程序的各种部件中。按照缺省规定,工程包含唯一的窗体模块。可根据需要另行添加窗体、类和标准模块。第九章用对象编程将讨论类模块。
事件驱动应用程序的工作方式
事件是窗体或控件识别的动作。在响应事件时,事件驱动应用程序执行 Basic代码。Visual Basic 的每一个窗体和控件都有一个预定义的事件集。如果其中有一个事件发生,而且,在关联的事件过程中存在代码,则 Visual Basic 调用该代码。
尽管 Visual Basic 中的对象自动识别预定义的事件集,但要判定它们是否响应具体事件以及如何响应具体事件则是编程的责任了。代码部分(即事件过程)与每个事件对应。 想让控件响应事件时,就把代码写入这个事件的事件过程之中。
对象所识别的事件类型多种多样,但多数类型为大多数控件所共有。例如,大多数对象都能识别 Click 事件如果单击窗体,则执行窗体的单击事件过程中的代码;如果单击命令按钮,则执行命令按钮的Click 事件过程中的代码。每个情况中的实际代码几乎完全不一样。
这里是事件驱动应用程序中的典型事件序列:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)1. 启动应用程序,装载和显示窗体。
2. 窗体(或窗体上的控件)接收事件。事件可由用户引发(例如键盘操作),可由系统引发(例如定时器事件),也可由代码间接引发(例如,当代码装载窗体时的 Load 事件)。
3. 如果在相应的事件过程中存在代码,就执行代码。
4. 应用程序等待下一次事件。
注意 许多事件伴随其它事件发生。例如,在 DblClick 事件发生时,MouseDown、MouseUp 和 Click 事件也会发生。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)