vb练习题,电子版第13章多窗体程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十三章多窗体程序设计
教学要求:
了解多重窗体应用程序的适用范围与特点,掌握多重窗体应用程序建立的主要步骤;了解多重窗体程序的执行与保存特点,了解Visual Basic工程的结构特点(标准模块、窗体模块、Sub Main过程);掌握闲置循环与DoEvents语句的用法。
知识点:
多重窗体应用程序;多重窗体应用程序的建立、执行、保存;Visual Basic工程的结构特点;闲置循环与DoEvents语句。
内容导航:
一、建立多重窗体应用程序
(一)多重窗体程序设计有关的语句和方法
1.Load语句。格式:Load 窗体名
2.Unload语句。格式:Unload 窗体名
3.Show方法。格式:[窗体名.]Show[模式]
4.Hide方法。格式:[窗体名.]Hide
(二)建立界面
窗体的添加方法有如下4种:
方法一:单击“工程”菜单中的“添加窗体”命令;
方法二:用鼠标右键单击“工程资源管理器”的任何项目,在弹出的快捷菜单中选择“添加”,单击“添加窗体”命令;
方法三:单击工具栏中的“添加窗体”命令;
方法四:通过组合键Alt+P,F。
二、多重窗体程序的执行与保存
(一)指定启动窗体
在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。应用程序开始运行时,此窗体就被显示出来。要改变启动窗体的执行方法如下:
从“工程”菜单中,选取“工程属性”命令,选取“通用”选项卡,在“启动对象”中,选取要作为新启动窗体的窗体,最后单击“确定”按钮。
(二)保存多窗体程序
为了保存多窗体程序,通常需要一下两步:
1.保存模块。
2.保存工程
(三)装入多窗体程序
装入多窗体程序和装入单窗体程序一样,只要打开工程文件,工程中包括的其他文件便会自动装入内存,而不用一一打开。
三、Visual Basic工程结构
Visual Basic工程分为3个层次:工程级(全局)、模块级和过程级,这对变量与类型的定义和使用都是很重要的。
(一)标准模块
标准模块也称全局模块或总模块,有全局变量声明、模块层声明及通用过程等几部分组成。其中全局变量声明放在标准模块的首部,因为每个模块都有可能要求它自己的具有唯一名字的全局变量。全局变量声明总是在启动时执行。标准模块没有事件过程。
(二)窗体模块
窗体模块包括3部分内容,即声明部分、通用过程部分和事件过程部分。
在声明部分中,用Dim语句声明窗体模块所需要的变量,因而其作用域为整个窗体模块。注意,在窗体模块代码中,声明部分一般放在最前面,而通用过程和事件过程的位置没有严格限制;
通用过程:用户定义的供事件过程调用的过程;
事件过程:发生某事件时的事件处理程序,是响应特定事件而执行的指令。
(三)Sub Main过程
在含有多个窗体或多个工程的应用程序中,有时候需要在显示多个窗体之前对一些条件进行初始化,这就需要在启动程序时执行一个特定的过程。在Visual Basic中,这样的过程称为启动过程,并命名为Sub Main。
四、闲置循环与DoEvents语句
Visual Basic提供了闲置循环与DoEvents语句
DoEvents既可作为语句,也可以作为函数使用,一般格式为:
[窗体号 = ]DoEvents[ () ]
DoEvents作为函数返回当前装入内存的窗体号。
训练:
一、选择题:
1.下面关于DoEvents语句的叙述中,正确的是________。
A)DoEvents语句提供了在某个循环中将控制权交给操作系统的可能,可以改造和控制语句的执行顺序
B)DoEvents语句没有返回值
C)DoEvents语句是一条非执行语句
D)即使用DoEvents语句,也不能改变语句执行的顺序
2.在VB中,要将一个窗体从内存中释放,应使用的语句是________。
A)Unload B)Hide C)Show D)Load
3.当一个工程中有多个窗体时,其中的启动窗体是________。
A)第一个添加的窗体
B)在“工程属性”中指定的启动对象
C)启动VB后建立的窗体
D)最后一个添加的窗体
4.当窗体得到焦点时,首先触发________事件。
A)Activate B)Initialize C)OnFocus D)GetFocus
5.在VB中,要使一个窗体不可见,但不从内存中释放,应使用的语句是________。
A)Hide B)Load C)Show D)Unload
6.与方法效果相同的是________。
A)=True
B)=False
C)=True
D)=False
7.要从自定义对话框Form2中退出,可以在该对话框的“退出”按钮Click事件过程中使用________语句。
A) B) C) D)
8.以下关于多重窗体程序的叙述中,错误的是________。
A)用Hide方法不但可以隐藏窗体,而且能清除内存中的窗体
B)在多重窗体程序中,各窗体的菜单是彼此独立的
C)在多重窗体程序中,可以根据需要指定启动窗体
D)在多重窗体程序中,需要单独保存每个窗体
9.假定一个工程文件由一个窗体Form1和两个标准模块Model及1Model2组成。
Model1代码如下:
Public x As Integer
Public y As Integer
Sub s1()
x=1
s2
End Sub
Sub s2()
y=10
End Sub
Model2代码如下:
Sub Main()
s1
End Sub
其中Sub Main()被设为启动对象,程序运行后,各模块的执行顺序是________。
A)Form1 Model1 Model2 B)Model1 Model2 Form1
C)Model2 Model1 Form1 D)Model2 Form1 Model1
10.以下叙述中错误的是________。
A)一个工程只能有一个Sub Main过程
B)窗体的Show方法是将指定的窗体装入内存并显示该窗体
C)窗体的Hide方法和Unload语句作用效果相同
D)如工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体
11.以下叙述中错误的是________。
A)一个应用程序可以只有一个窗体
B)一个应用程序通常由多个窗体组成
C)一个窗体一定对应一个窗体文件,所以一个应用程序只能包含一个窗体
D)一个应用程序只能有一个启动窗体
12.如果要在应用程序建立另一个窗体,正确的操作方法是________。
A)在“文件”下拉菜单中选择“添加窗体”命令
B)在“工程”下拉菜单中选择“添加窗体”命令
C)在“编辑”下拉菜单中选择“添加窗体”命令
D)在“工具”下拉菜单中选择“添加窗体”命令