清华大学vb经典教案第十节——多重窗体程序设计与环境应用

上传人:子 文档编号:52087345 上传时间:2018-08-18 格式:PPT 页数:27 大小:394KB
返回 下载 相关 举报
清华大学vb经典教案第十节——多重窗体程序设计与环境应用_第1页
第1页 / 共27页
清华大学vb经典教案第十节——多重窗体程序设计与环境应用_第2页
第2页 / 共27页
清华大学vb经典教案第十节——多重窗体程序设计与环境应用_第3页
第3页 / 共27页
清华大学vb经典教案第十节——多重窗体程序设计与环境应用_第4页
第4页 / 共27页
清华大学vb经典教案第十节——多重窗体程序设计与环境应用_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《清华大学vb经典教案第十节——多重窗体程序设计与环境应用》由会员分享,可在线阅读,更多相关《清华大学vb经典教案第十节——多重窗体程序设计与环境应用(27页珍藏版)》请在金锄头文库上搜索。

1、第10章 多重窗体程序设计与环境应用 10.1 多重窗体应用程序10.1.1 窗体的类型在Visual Basic中,窗体的类型有两种:单文档界面的 窗体(Single Document Interface,SDI)和多文档界面的 窗体(Multiple Document Interface,MDI)。单文档界面的窗体指的是所有的窗体都是平等的,相互之间没有容纳与被 容纳的关系,前面所用的窗体都是单文档界面的窗体;多文档 界面的窗体指的是窗体与窗体之间具有容纳与被容纳的关系, 用于容纳其他窗体的窗体称为MDI窗体或者父窗体,被MDI窗 体所容纳的窗体称为MDI窗体的子窗体。多重窗体应用程序指的

2、是一个Visual Basic的应用程序由多个单文档界面的窗体组成,每个单文档界面的窗体有自己 的用户界面和代码,完成不同的功能。 10.1.2 与多重窗体程序设计有关的语句和方法 1加载窗体与卸载窗体加载窗体指的是将窗体载入内存,而卸载窗体指的是将窗 体从内存中清除。在Visual Basic中,加载窗体与卸载窗体的 语句分别是:Load语句和Unload语句。 Load语句的语法格式如下: Load 注意:Load语句仅仅是将窗体载入内存,窗体并不能显 示出来。 Unload语句的语法格式如下: Unload 2显示窗体与隐藏窗体当窗体被加载后,并不会自动显示,要显示窗体,可以使 用窗体的

3、Show方法,Show方法的语法格式如下: .Show 如果省略,则显示当前窗体;用于 指定窗体的显示状态,有两个值:vbModeless(或0)表示 非模式窗体、vbModal(或1)表示模式窗体,如果缺省,相当于0。模式窗体必须被关闭、隐藏或者卸载以后,才能切换到其他的窗体,而非模式窗体即使不关闭,也 可以在不同的窗体之间切换。Show方法可以显示已经载入内存的窗体,如果窗体没有 被载入内存,Show方法自动将窗体载入内存然后再显示出来。如果要隐藏窗体但不卸载窗体,可以使用Hide方法, Hide方法的语法格式如下:.Hide注意:使用Hide方法隐藏窗体后,窗体仍然在内存中,随时可以显示

4、。显示窗体与隐藏窗体可以用Show方法和Hide方法,也 可以使用Visible属性,当窗体的Visible属性值为True时,显 示窗体;当窗体的Visible属性值为False时,隐藏窗体。 10.1.3 在工程中添加窗体或标标准模块块在Visual Basic中,添加窗体的方法有三种:通过过“ 工程”菜单单的“添加窗体”命令,或者通过过“标标准”工具栏栏 中的“添加窗体”按钮钮,或者在“工程资资源管理器”中右击击 ,在快捷菜单单中单击单击 “添加”“添加窗体”命令,在“添 加窗体”对话对话 框中,双击击“窗体”图标图标 ,或单击单击 “窗体”图图 标标再单击单击 “打开”按钮钮,如图图1

5、0-1所示,也可以添加现现存的 窗体。 在Visual Basic中,添加标准模块的方法也有三种:通过 “工程”菜单的“添加模块”命令,或者通过“标准”工具栏中的“ 添加模块”按钮,或者在“工程资源管理器”中右击,在快捷菜 单中单击“添加”“添加模块”命令,在“添加模块”对话框中, 双击“模块”图标,或单击“模块”图标再单击“打开”按钮,如图 10-2所示,也可以添加现存的模块。 10.1.4 在工程中移除窗体或标标准模块块在Visual Basic中,移除窗体的方法有两种: (1)在“工程资资源管理器”中单击单击 要移除的窗体,再通过过“ 工程”菜单单的“移除 窗体名”或“移除 窗体文件名.

6、frm”命令 。如果窗体未保存,则则“移除”后是“窗体名”;如果窗体已经经 保存为为文件,则则“移除”后是“窗体文件名”,如图图10-3所示; (2)在“工程资资源管理器”中右击击要移除的窗体,在快捷菜 单单中,选择选择 “移除 窗体名”或“移除 窗体文件名.frm”命令。在Visual Basic中,移除标标准模块块的方法也有两种: (1)在“工程资资源管理器”中单击单击 要移除的标标准模块块,再通 过过“工程”菜单单的“移除 标标准模块块名”或“移除 标标准模块块文 件名.bas”命令。如果标标准模块块未保存,则则“移除”后是“标标准 模块块名”;如果标标准模块块已经经保存为为文件,则则“

7、移除”后是“ 标标准模块块文件名”,如图图10-4所示; (2)在“工程资资源管理器”中右击击要移除的标标准模块块,在快 捷菜单单中,选择选择 “移除 标标准模块块名”或“移除 标标准模块块文件 名.bas”命令。 注意:窗体或标准模块被移除后,如果窗体或标准模块已经保存为文件,仅仅是去掉了窗体或标准模块在工程文件中的 引用,并没有将窗体文件或标准模块文件删除。如果已经做过 修改的窗体或标准模块,则提示是否保存;如果是新添加的窗 体,则直接移除。 10.1.5 启动窗体启动窗体是执行Visual Basic应用程序时,首先执行并被显示出来的窗体。默认情况下,新建一个工程时最先创建的窗 体即为启

8、动窗体,其他的窗体也可以设置为启动窗体,将其他 的窗体设置为启动窗体的方法有两种:(1)通过“工程”菜单中的“工程1属性”命令,在“工程属性”对 话框中的“启动对象”下拉列表框中,选择将要作为启动的窗体 ,单击“确定”按钮,如图10-5所示;(2)在“工程资源管理器”中右击“工程1”,在快捷菜单中, 单击“工程1属性”命令,在“工程属性”对话框中的“启动对象” 下拉列表框中,选择将要作为启动的窗体,单击“确定”按钮。 10.1.6 Sub Main过过程Sub Main过过程是Visual Basic中惟一可以作为为启动对动对 象 的过过程。在Sub Main过过程中,一般实现对实现对 全局级

9、变级变 量的初始 化,根据用户户的选择选择 决定加载载哪一个窗体等功能。Sub Main过过程只能放在标标准模块块中,而且在一个应应用程 序中,最多只能有一个Sub Main过过程;Sub Main过过程不会自 动动成为为启动对动对 象,必须进须进 行设设置,设设置方法与将窗体设为设为 启 动对动对 象的方法类类似。 10.1.7 不同窗体之间数据的访问复杂的应用程序一般包含多个窗体,不同窗体之间经常需要进行数据交换,实现不同窗体之间数据访问的方法,主要有如下两类:(1)通过引用不同窗体的控件属性在当前窗体中引用其他窗体中某个控件的属性值,其语法格式如下:其他窗体名.控件名.属性名(2)通过全

10、局级变量实现不同窗体之间数据的引用全局级变量的作用域是整个应用程序的所有模块,通过定义全局级变量可以实现不同窗体之间数据的交换。 【例10-1】用户注册、登录应用系统的多重窗体应用程序。新建一个工程,其中包含一个标准模块和三个窗体模块: 登录窗体模块或登录对话框(选择“工程”菜单中的“添加窗体” 命令,在“添加窗体”对话框中,双击“登录对话框”图标)、用户注册窗体模块和应用程序主窗体模块,这三个窗体分别如图 10-6、图10-7、图10-8所示。在标准模块的通用声明段定义了 一个全局级变量username,用于存放用户名,在整个应用程 序的所有模块中都可以使用这个用户名;还定义了Sub Mai

11、n 过程,并将Sub Main过程设为启动对象。程序运行后,用MsgBox()函数提示“新用户请先注册,您 是新用户吗?”,让用户选择是新用户还是老用户,新用户则显示注册窗体,老用户则显示登录窗体,用户注册或登录后, 用户名存放到全局级变量username中,然后,显示应用程序的主窗体,应用程序主窗体的程序代码、菜单等省略。 10.1.8 保存多重窗体应应用程序保存多重窗体应应用程序的方法与保存单单窗体应应用程序的 方法类类似,但由于多重窗体应应用程序,在一个工程中包含了 多个窗体和标标准模块块,因此,一个应应用程序将保存为为多个窗 体文件、多个标标准模块块文件和一个工程文件,这这些文件被分

12、别别保存后,在“工程资资源管理器”中,将显显示每一个窗体的 窗体名(窗体Name属性的值值)和窗体文件名(保存到外存中 的文件名)以及每一个标标准模块块的标标准模块块名(标标准模块块 Name属性的值值)和标标准模块块文件名(保存到外存中的文件名 ),如图图10-9所示。 在“工程资源管理器”中,可以选择任何一个窗体或标准 模块进行修改或者另存为其他文件名等操作,也可以设置启 动对象。 10.1.9 打开多重窗体应用程序在Visual Basic中,打开一个应用程序一般都是通过工程 文件打开,但是,当一个工程中只有一个窗体时,可以只保存 窗体文件,而不保存工程文件,双击打开窗体文件时,Visu

13、al Basic将自动创建一个工程,然后即可执行该窗体;对于多重 窗体应用程序,在一个工程中包含了多个窗体和标准模块,因 此,打开一个多重窗体应用程序时,必须首先打开多重窗体应 用程序的工程文件,才能完整地执行。 10.1.10 编译与运行多重窗体应用程序编译与运行多重窗体应用程序的方法与单窗体应用程序类似,默认情况下,编译后生成的可执行文件的文件名就是工程 文件名,可执行文件所在的路径就是工程文件所在的路径,用 户可以根据需要选择不同的路径和文件名,但是多重窗体应用 程序可以指定某个窗体或Sub Main过程等作为启动对象。 【例10-2】加、减法算术练习的多重窗体应用程序。新建一个工程,其

14、中包含一个标准模块和三个窗体模块:应用程序主窗体模块、加法练习窗体模块和减法练习窗体模块 ,这三个窗体分别如图10-10、图10-11、图10-12所示。在标准模块中定义了一个全局级过程statistic,用于统计加法练习或减法练习中答对的题数和答错的题数,并通过形参 返回给调用过程的实参;应用程序主窗体模块主要用于显示所有做过的加、减法算术练习的题目以及加、减法算术练习的结果和总题数;加法练习窗体模块自动产生099之间的两个随机整数的加法算式,并显示在标签Label1中,在文本框Text1中,输入答案后按下回车键,系统将给出答对或答错的判断结果,同时自动产生下一题,并将回答过的题目显示在列表

15、框中;单击“返回”命令按钮可以返回到主窗体,并将列表框中的练习题目加入到主窗体列表框中,然后,调用statistic过程统计所做练习的结果。减法练习窗体模块的功能与加法练习窗体模块类似。 10.2 多文档界面在一个多文档界面应用程序中,MDI窗体(父窗体)只能 有一个,但MDI窗体的子窗体可以有多个,所有的子窗体只能 显示在MDI窗体的工作区域内,子窗体可以在MDI窗体内移动 位置,但不能移到MDI窗体之外,当子窗体最小化时,并不是 显示在任务栏中,而是排列在MDI窗体的下方;当MDI窗体改 变位置时,所有的子窗体也跟着改变;当MDI窗体最小化时, 所有的子窗体都看不见;当关闭MDI窗体时,所

16、有子窗体也随 之关闭;MDI窗体和子窗体都可以有各自的菜单,当加载子窗 体时,子窗体的菜单将覆盖MDI窗体的菜单。1多文档界面的创建多文档界面应用程序需要一个MDI窗体、一个或多个MDI 窗体的子窗体。一般情况下,先创建一个MDI窗体和一个子窗体,其他的子窗体在程序运行时动态创建。添加MDI窗体的方法与添加单文档界面窗体的方法类似, 有三种:通过“工程”菜单的“添加MDI窗体”命令,或者通过“标 准”工具栏中的“添加MDI窗体”按钮,或者在“工程资源管理器”中右击。添加子窗体的方法:先添加单文档界面窗体,再将其 MDIChild属性值设为True。2MDI窗体的常用属性(1)ActiveForm属性返回具有焦点或者最后被激活的子窗体。(2)ActiveControl属性返回子窗体上具有焦点的控件。3MDI窗体的常用方法Arrange方法用于重排MDI窗体中的子窗体或图标,其语法格式如下:MDI窗体名.Arrange 其中,如果是当前MDI窗体可以省略MDI窗体名;的取值见表10-1。常 数值值描 述vbCascade0层

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号