- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章多模块程序设计与调试讲述
主讲:冯 元 第十一章 多模块程序设计与调试 11.1 多模块程序设计 11.2 程序的调试 11.1 多模块程序设计 本节知识点: 启动对象 窗体的加载与卸载 窗体加载时的事件 窗体卸载时的事件 多模块之间的数据共享 程序的中止 11.1 多模块程序设计 到目前为止所编制的程序都是单模块程序。但在实际工作中,功能稍微复杂一些的程序就会包含多个模块。VB包含三种类型的模块:窗体模块、标准模块和类模块。 窗体模块(.frm):是一个相对独立的程序单位,每个窗体对应一个窗体模块。 窗体模块包含窗体、窗体和控件的属性设置、事件过程和通用过程、模块级的变量和常量。 默认时应用程序只有一个窗体,如应用程序有多个窗体,会有多个以.frm为扩展名的窗体模块文件。 11.1 多模块程序设计 标准模块(.bas):标准模块没有界面对象,只有代码。专门用来存放工程中各个窗体共同使用的全局通用过程、变量、常量及自定义数据类型。标准模块的代码保存在扩展名为“.bas”的文件中。 类模块(.cls):类模块用于建立新对象,这些新对象可以包含自定义的属性和方法。类模块既包含代码又包含数据,它可以被应用程序内的过程调用。 11.1 多模块程序设计 1、启动对象 启动对象:是指一个程序运行时,首先被加载并执行的对象。可以是窗体模块也可以是标准模块。 设定工程的启动对象: Sub Main过程:在一个含有多窗体的应用程序中,有时需要在显示多个窗体之前对一些条件进行初始化,需要在启动程序时执行一个特定的过程。在VB中,这样的过程称为启动过程,并命名为Sub Main。 Sub Main过程位于标准模块中,一个工程只能有一个Sub Main过程。 11.1 多模块程序设计 没有窗体的工程:虽然VB自动为每个标准EXE工程提供了一个窗体,但工程可以没有任何窗体。 在没有窗体的工程中,至少要有一个标准模块,标准模块中要有Sub Main过程,并已设为启动对象。 这时的Sub Main过程是程序的入口,它可以再调用其他过程来完成更复杂的任务。当由Sub Main调用的所有过程执行完毕后,程序就结束了。 11.1 多模块程序设计 在一个既有窗体又有Sub Main过程的工程中,如没有将Sub Main设为启动对象,它就是一个普通过程。 一个工程必须有一个启动对象,默认启动对象是第一个被创建的窗体。 11.1 多模块程序设计 2、窗体的加载与卸载 作为启动对象的窗体是由操作系统加载的,其他窗体只有使用VB的窗体加载语句或方法才能加载到内存中,执行时显示在屏幕上。 当窗体操作完毕,可以将它隐藏或从内存中卸载。 下面学习与窗体加载和卸载有关的语句和方法。 11.1 多模块程序设计 Load语句 窗体在显示之前,首先要加载到内存中。语法:Load 窗体名 使用Load语句加载到内存的窗体并不被显示。 窗体一旦被加载到内存,便可通过程序对它及其所属控件进行操作。(通过设置Visible属性,使其可见) 例子:Private Sub Form1_Click() Load Form2 End Sub 11.1 多模块程序设计 Show方法 窗体对象的方法。当调用这个方法时,如果窗体尚未被加载到内存,则先加载到内存,然后再显示它。语法: 窗体名.Show [0|1] 参数为0或被省略时,显示窗体后,继续执行后面的语句。即非模态的。 参数为1时,显示窗体并暂停执行后面的语句。即模态的。只有隐藏或卸载了模态窗体之后,才继续执行后面的语句。 11.1 多模块程序设计 Hide方法 调用窗体的Hide方法可以隐藏这个窗体。语法: 窗体名.Hide 此方法同时将窗体的Visible属性置为False,但不卸载窗体。 如果在执行此方法之前窗体尚未加载,则加载它。 11.1 多模块程序设计 Unload语句 使用Unload语句可把指定的窗体从内存中卸载。 语法: Unload 窗体名 Unload语句卸载掉的只是窗体和控件的显示部分,它的代码(如过程和变量)仍然可用。 窗体卸载之后,运行时对窗体和控件属性进行的所有修改都将丢失。程序中对该窗体与窗体上控件的访问会导致窗体重新加载。 单击窗体右上角的“关闭”按纽也可卸载窗体。 11.1 多模块程序设计 3、窗体加载时的事件 窗体从未被加载到加载,再由加载到显示,会依次收到系统引发的Initialize、Load和Active事件。 Initialize事件 窗体的初始化事件。在加载一个窗体时,此事件最先发生。事件过程语法: Private Sub Form_Initialize() … … End Sub 11.1 多模块程序设计 Load事件 由于Load事件是窗体“生存周期”(从加载到卸载
文档评论(0)