《 Visual basic程序设计基础教程》习题解答 第1章Ⅴ isual basic6.0基本知识 1.Ⅴ isual basic可视化环境中的基本成分有哪些? isual basic60集成开发环境由各种可视化操作成分组成,除了最常见的菜单、工具 栏以外,它还包括:工具箱、窗体设计器、属性窗口、工程管理器、代码编辑器,以及对 象浏览器、窗体布局窗口、编程环境设置窗口。 2.试列举文件菜单的菜单项,并说明其作用。 参见教材 3.试列举工程菜单的菜单项,并说明其作用。 参见教材。 4.工具栏和菜单有什么关系?跟菜单比较,工具栏能够带来哪些便利 工具栏的作用与菜单一样,但工具栏是通过其上面的图标按钮执行菜单命令,将一些 常用的菜单命令通过工具栏来提供,由此可以加快操作速度 5.工程资源管理器有什么用途? Visual basic通过工程资源管理器实现了对工程中诸多文件的可视化集中管理,并通过 能够对工程文件进行有效更新 6.试说明窗体设计器的用途? 窗体设计器是用来以可视方式编辑用户界面的,通过菜单命令“视图对象窗口”,或 在“工程资源管理器”上选择“对象窗口”图标,可以显示窗体设计器 7.试说明中断调试的用途? 中断就是暂时终止程序的执行,把程序切换到中断模式,从而便于查找错误点。通过 菜单命令“运行\中断”,或单击“调试”工具栏中的“中断”按钮,或按Ctrl+ Break键 就可以进入到中断模式。 8.试说明单步调试程序的方法与用途 单步调试方法可以使程序逐语句或逐过程地执行
《Visual Basic 程序设计基础教程》习题解答 第 1 章 Visual Basic 6.0 基本知识 1. Visual Basic 可视化环境中的基本成分有哪些? Visual Basic 6.0 集成开发环境由各种可视化操作成分组成,除了最常见的菜单、工具 栏以外,它还包括:工具箱、窗体设计器、属性窗口、工程管理器、代码编辑器,以及对 象浏览器、窗体布局窗口、编程环境设置窗口。 2. 试列举文件菜单的菜单项,并说明其作用。 参见教材。 3. 试列举工程菜单的菜单项,并说明其作用。 参见教材。 4. 工具栏和菜单有什么关系?跟菜单比较,工具栏能够带来哪些便利。 工具栏的作用与菜单一样,但工具栏是通过其上面的图标按钮执行菜单命令,将一些 常用的菜单命令通过工具栏来提供,由此可以加快操作速度。 5. 工程资源管理器有什么用途? Visual Basic 通过工程资源管理器实现了对工程中诸多文件的可视化集中管理,并通过 能够对工程文件进行有效更新。 6. 试说明窗体设计器的用途? 窗体设计器是用来以可视方式编辑用户界面的,通过菜单命令“视图\对象窗口”,或 在“工程资源管理器”上选择“对象窗口”图标,可以显示窗体设计器。 7. 试说明中断调试的用途? 中断就是暂时终止程序的执行,把程序切换到中断模式,从而便于查找错误点。通过 菜单命令“运行\中断”,或单击“调试”工具栏中的“中断”按钮,或按 Ctrl+Break 键, 就可以进入到中断模式。 8. 试说明单步调试程序的方法与用途。 单步调试方法可以使程序逐语句或逐过程地执行
第1章 Visual basic60基本知识 逐语句就是一次执行一条语句。连续地按F8键,或选择菜单命令“调试\逐语句”, 或单击“调试”工具栏中的“逐语句”按钮,可以逐语句地运行程序 逐过程与逐语句相似,只有在当前被执行的语句中含有对其它过程的调用时,两者才 会有差异。逐过程是将过程视为一个基本单位来执行的。可以按Shf+F8,或选择菜单命 令“调试\逐过程”,或单击“调试”工具栏中的“逐过程”按钮,而逐过程地运行程序 9.试建立一个含有窗体的程序,窗体上摆放有两个文本框,一个命令按钮,一个标签, 用于实现两个待输入数的乘积运算。其中,“文本框”用于输入待计算的数,“命令按钮” 用于实现计算,“标签”用于显示计算结果 程序如下 Private Sub Command1 Click Labell Val(TextI)*Val(Text2) End Sub 第2章数据类型及运算 试说明常数、变量的区别及其用途。 常量是用标识符表示的不变的数值或字符串,使用 Const语句来声明。一旦已经定义 了常量标识符,就可将它们放置在代码中代替某个值。在程序运行过程中,常量是不能改 变的,因此不能对常量赋新值。当常量标识符为有意义的名称时,可以使源代码更加便于 阅读。设置常量标识符的好处还体现在当需要对常量值作修改时,只需要在常量标识符定 义处做改动,这有利于提高源程序的可维护性 在 Visual basic应用程序运行期间,变量被用来存储可能变化的数据。可以把变量看 作内存中存放未知值的所在处。变量在使用之前往往需要先做声明,声明变量就是事先将 变量通知程序,由此使变量的使用合法。声明变量时需要指明变量名和变量类型。其中 变量类型被用来确定变量能够存储的数据的种类。 2.试说明过程级变量、模块级变量的区别。在编写程序时为什么提倡使用过程级变 量? 过程级变量只有在声明它们的过程中才能被识别,也叫做局部变量。由于无法在一个 过程中访问另一个过程中的局部变量,因此在不同过程中就可以使用相同的变量名,而不 必担心有什么冲突。可以在过程内使用Dm或 Static关键字来声明过程级变量。 模块级变量比过程级变量的作用范围要大。模块级变量对该模块的所有过程都可用, 但其它模块不能使用。可以在模块顶部的声明段用 Private或Dim关键字声明模块级变量。 过程级变量只对自己所在过程起作用,影响范围小,便于程序的调试和错误修改,可
·2· 第 1 章 Visual Basic 6.0 基本知识 逐语句就是一次执行一条语句。连续地按 F8 键,或选择菜单命令“调试 \ 逐语句”, 或单击“调试”工具栏中的“逐语句”按钮,可以逐语句地运行程序。 逐过程与逐语句相似,只有在当前被执行的语句中含有对其它过程的调用时,两者才 会有差异。逐过程是将过程视为一个基本单位来执行的。可以按 Shift+F8,或选择菜单命 令“调试 \ 逐过程”,或单击“调试”工具栏中的“逐过程”按钮,而逐过程地运行程序。 9. 试建立一个含有窗体的程序,窗体上摆放有两个文本框,一个命令按钮,一个标签, 用于实现两个待输入数的乘积运算。其中,“文本框”用于输入待计算的数,“命令按钮” 用于实现计算,“标签”用于显示计算结果。 程序如下: Option Explicit Private Sub Command1_Click() Label1 = Val(Text1) * Val(Text2) End Sub 第 2 章 数据类型及运算 1. 试说明常数、变量的区别及其用途。 常量是用标识符表示的不变的数值或字符串,使用 Const 语句来声明。一旦已经定义 了常量标识符,就可将它们放置在代码中代替某个值。在程序运行过程中,常量是不能改 变的,因此不能对常量赋新值。当常量标识符为有意义的名称时,可以使源代码更加便于 阅读。设置常量标识符的好处还体现在当需要对常量值作修改时,只需要在常量标识符定 义处做改动,这有利于提高源程序的可维护性。 在 Visual Basic 应用程序运行期间,变量被用来存储可能变化的数据。可以把变量看 作内存中存放未知值的所在处。变量在使用之前往往需要先做声明,声明变量就是事先将 变量通知程序,由此使变量的使用合法。声明变量时需要指明变量名和变量类型。其中, 变量类型被用来确定变量能够存储的数据的种类。 2. 试说明过程级变量、模块级变量的区别。在编写程序时为什么提倡使用过程级变 量? 过程级变量只有在声明它们的过程中才能被识别,也叫做局部变量。由于无法在一个 过程中访问另一个过程中的局部变量,因此在不同过程中就可以使用相同的变量名,而不 必担心有什么冲突。可以在过程内使用 Dim 或 Static 关键字来声明过程级变量。 模块级变量比过程级变量的作用范围要大。模块级变量对该模块的所有过程都可用, 但其它模块不能使用。可以在模块顶部的声明段用 Private 或 Dim 关键字声明模块级变量。 过程级变量只对自己所在过程起作用,影响范围小,便于程序的调试和错误修改,可
第1章 Visual basic60基本知识 以使程序更加健壮。因此,程序设计时,提倡使用过程级变量 3.试说明过程级变量中静态变量的定义方式,什么情况下需要用到静态变量? 静态变量使用 Static声明 在过程内定义的静态变量尽管在过程外不能访问,但在整个应用程序运行期它却一直 存在,即使过程结束,变量的值也仍然保留在内存中。当需要保存中间计算结果,而这个 计算又与其它过程无关时,可以使用过程级静态变量。 4.如何定义公共变量?什么情况下需要用到公共变量? 只能在模块的声明段中用 Public关键字声明公共变量。 经过 Public关键字声明的公共变量可用于应用程序的所有模块、过程。当一个变量需 要被多个模块使用时,需要用到公共变量 5.数值型数据有哪几种?为什么可以把Byte类型的数据当做数值型数据使用? Visual basic支持的数值型数据有: Integer(整型)、Long(长整型)、 Single(单精度 浮点型)、 Double(双精度浮点型)、 Currency(货币型)。 yt是字节型数据,但其数据范围是0到25,因此,它也就可以当作数值型数据使 6.整型数据、浮点型数据都是数值型数据,比较起浮点数,整型数有什么优势? 整型数变量只能存储只能整数,尽管存数范围比浮点数小,但整型数的运算速度比浮 点数快,而且所占据的内存也少。 7. Variant数据类型有什么特点?为什么要限制使用? Variant型是声明变量时的缺省类型,能够存储所有类型的数据。如果把数据赋予 Variant变量,则不必在这些数据的类型间进行转换; Visual basic会自动完成任何必要的 转换。 Variant型变量使用方便,但是比较起专用类型的数据更消耗内存资源,为提高程序 处理数据的效率,一般采用专用类型的变量而限制 Variant数据类型的使用。 8.多维数组为什么需要更多的存储空间? 任何数据类型的数组都需要20个字节的内存空间,另外数组每增加一个维数就要多 增加4个字节;所以,多维数组需要更多的存储空间。例如,4个2字节 Integer数据 元所组成的二维数组,数据本身占8个字节,而二维数组额外需要28个字节,这使得这 个二维数组所需总内存空间为36个字节 9.在使用动态数组时需要用到 ReDim语句,试说明该语句的作用 ReDin语句是执行语句,通过在应用程序运行过程中执行ReDm语句,而能够给数
第 1 章 Visual Basic 6.0 基本知识 ·3· 以使程序更加健壮。因此,程序设计时,提倡使用过程级变量。 3. 试说明过程级变量中静态变量的定义方式,什么情况下需要用到静态变量? 静态变量使用 Static 声明。 在过程内定义的静态变量尽管在过程外不能访问,但在整个应用程序运行期它却一直 存在,即使过程结束,变量的值也仍然保留在内存中。当需要保存中间计算结果,而这个 计算又与其它过程无关时,可以使用过程级静态变量。 4. 如何定义公共变量?什么情况下需要用到公共变量? 只能在模块的声明段中用 Public 关键字声明公共变量。 经过 Public 关键字声明的公共变量可用于应用程序的所有模块、过程。当一个变量需 要被多个模块使用时,需要用到公共变量。 5. 数值型数据有哪几种?为什么可以把 Byte 类型的数据当做数值型数据使用? Visual Basic 支持的数值型数据有:Integer(整型)、Long(长整型)、Single(单精度 浮点型)、Double(双精度浮点型)、Currency(货币型)。 Byte 是字节型数据,但其数据范围是 0 到 255,因此,它也就可以当作数值型数据使 用。 6. 整型数据、浮点型数据都是数值型数据,比较起浮点数,整型数有什么优势? 整型数变量只能存储只能整数,尽管存数范围比浮点数小,但整型数的运算速度比浮 点数快,而且所占据的内存也少。 7. Variant 数据类型有什么特点?为什么要限制使用? Variant 型是声明变量时的缺省类型,能够存储所有类型的数据。如果把数据赋予 Variant 变量,则不必在这些数据的类型间进行转换; Visual Basic 会自动完成任何必要的 转换。Variant 型变量使用方便,但是比较起专用类型的数据更消耗内存资源,为提高程序 处理数据的效率,一般采用专用类型的变量而限制 Variant 数据类型的使用。 8. 多维数组为什么需要更多的存储空间? 任何数据类型的数组都需要 20 个字节的内存空间,另外数组每增加一个维数就要多 增加 4 个字节;所以,多维数组需要更多的存储空间。例如,4 个 2 字节 Integer 数据 元所组成的二维数组,数据本身占 8 个字节,而二维数组额外需要 28 个字节,这使得这 个二维数组所需总内存空间为 36 个字节。 9. 在使用动态数组时需要用到 ReDim 语句,试说明该语句的作用。 ReDim 语句是执行语句,通过在应用程序运行过程中执行 ReDim 语句,而能够给数
4 第1章 Visual basic60基本知识 组动态指定维数和分配实际的元素个数 10.试建立一个枚举数据类型将全年的12个月份列举出来 Public Enum month 四月 五月 六月 八月 十二月 1l.试建立一个自定义数据类型,该数据类型用于存储学生的学号(整型)、姓名(字 符串型)、平时成绩(浮点型)、期考成绩(浮点型)等信息 Private Type StuRecord Number As Integer Name As string PeGrade As single FiGrade As single End Type 12.运算符有哪些类型?其优先级如何? isual basic中的运算符类型有:算术运算符、比较运算符、连接运算符、逻辑运算符 等 表达式中运算符的优先顺序是:先处理算术运算符,接着处理比较运算符,然后再处 理逻辑运算符 所有比较运算符的优先顺序都相同 算术运算符优先级由高至低是:指数运算()、负数(-)、乘法和除法(*、/)、 整数除法(、求模运算(Mod)、加法和减法(+、-) 逻辑运算符优先级由高至低是:Not、And、Or、Xor、Eqv、Imp 当运算符优先级相同时,按照从左到右出现的顺序进行。可以用括号改变优先顺序
·4· 第 1 章 Visual Basic 6.0 基本知识 组动态指定维数和分配实际的元素个数。 10. 试建立一个枚举数据类型将全年的 12 个月份列举出来。 Public Enum month 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 End Enum 11. 试建立一个自定义数据类型,该数据类型用于存储学生的学号(整型)、姓名(字 符串型)、平时成绩(浮点型)、期考成绩(浮点型)等信息。 Private Type StuRecord Number As Integer Name As String PeGrade As Single FiGrade As Single End Type 12. 运算符有哪些类型?其优先级如何? Visual Basic 中的运算符类型有:算术运算符、比较运算符、连接运算符、逻辑运算符 等。 表达式中运算符的优先顺序是:先处理算术运算符,接着处理比较运算符,然后再处 理逻辑运算符。 所有比较运算符的优先顺序都相同。 算术运算符优先级由高至低是:指数运算 (^)、负数 (–)、乘法和除法 (*、 /)、 整数除法 (\)、求模运算 (Mod)、加法和减法 (+、 –)。 逻辑运算符优先级由高至低是:Not、And、Or、Xor、Eqv、Imp 当运算符优先级相同时,按照从左到右出现的顺序进行。可以用括号改变优先顺序
第1章 Visual basic60基本知识 字符串连接运算符“&”在所有算术运算符之后,而在所有比较运算符之前 3.有变量X=246,Y=3,Z=“97”。试给出以下表达式的结果: (a)x+y: (b)x/y: (c)X\y: (d)X Mod Y: (e)y+Z (f)Y&Z:(g) X>Y:(h) Not((XY)). (a)276;(b)8.2;(c)8:(d)1:(e)100 (f)”397”;(g)Tru (h) False 第3章程序结构 If.Then.Else分支语句和 Select case分支语句有什么不同?在进行多分支处理时, 什么情况下只能使用IfE.Then.Flse,而不能使用 Select Case. Select case用于实现多重选择,其作用与If.Then.Else语句类似,但主要用于只有 个条件,并且条件值为离散值的分支选择。另外,If.Then.Flse..为每个 Elself语句 计算不同的表达式,而 Select case只在开始处计算测试条件的值。因此,只有在If语句 的每一个 Elself语句计算相同表达式时,才能用 Select case结构替换If.Then.Fse..结 2.假如要在进入循环体之前检测循环条件,应该选择什么类型的循环结构? 应该选择循环检测条件在前的循环结构,例如 Do While条件表达式 语句块 Lool 或 Do Until条件表达式 语句块 3.试对子过程、函数过程、事件过程作出比较? (1)子过程,通过Sub语句声明,不能返回值 (2)函数过程,通过 Function语句声明,能够返回值。由于函数过程可以返回值, 因此函数过程也就有了数据类型。 (3)事件过程,通过被引用的类中所包含的事件声明所提供 4.在向过程传递参数时有按值传递和按地址传递两种方式,它们有什么不同?sual 的缺省方式按地址传递,若需要按值传递,则其参数定义格式是什么?
第 1 章 Visual Basic 6.0 基本知识 ·5· 字符串连接运算符“&”在所有算术运算符之后,而在所有比较运算符之前。 13. 有变量 X=24.6,Y=3,Z=“97”。试给出以下表达式的结果: (a)X+Y;(b)X / Y;(c)X \ Y;(d)X Mod Y;(e)Y+Z; (f)Y&Z;(g)X>Y;(h)Not ( (X<Y And Y<Z=Or (X>Y))。 (a)27.6;(b)8.2; (c)8; (d)1; (e)100; (f)”397”;(g)True; (h)False 第 3 章 程序结构 1. If...Then...Else 分支语句和 Select Case 分支语句有什么不同?在进行多分支处理时, 什么情况下只能使用 If...Then...Else,而不能使用 Select Case。 Select Case 用于实现多重选择,其作用与 If...Then...Else 语句类似,但主要用于只有 一个条件,并且条件值为离散值的分支选择。另外,If...Then...Else... 为每个 ElseIf 语句 计算不同的表达式,而 Select Case 只在开始处计算测试条件的值。因此,只有在 If 语句 的每一个 ElseIf 语句计算相同表达式时,才能用 Select Case 结构替换 If...Then...Else... 结 构。 2. 假如要在进入循环体之前检测循环条件,应该选择什么类型的循环结构? 应该选择循环检测条件在前的循环结构,例如: Do While 条件表达式 语句块 Loop 或 Do Until 条件表达式 语句块 Loop 3. 试对子过程、函数过程、事件过程作出比较? (1)子过程,通过 Sub 语句声明,不能返回值。 (2)函数过程,通过 Function 语句声明,能够返回值。由于函数过程可以返回值, 因此函数过程也就有了数据类型。 (3)事件过程,通过被引用的类中所包含的事件声明所提供。 4. 在向过程传递参数时有按值传递和按地址传递两种方式,它们有什么不同?Visual Basic 的缺省方式按地址传递,若需要按值传递,则其参数定义格式是什么?
第1章Ⅴ isual basic60基本知识 按值传递参数时,所传递的是实际参数的值,实参、形参分别有不同的内存地址。如 果在被调用过程中改变了这个参数值,则所作变动只会到形参,不会影响实参。通过 By Val 关键字可以声明按值传递的参数。 参数按地址传递时,所传递的是实际参数的地址,这时的实参与形参具有相同的内存 地址,所调用过程对形式参数所做的改变,也将随之反映到实际参数上来。通过 By Ref关 键字可以声明按地址传递的参数 5.建立一个窗体程序,窗体上摆放有命令按钮。在命令按钮的Clck事件中建立For 循环或 Do While循环,加上If.Then.的嵌套程序,程序中使用 Print语句,将0到100以 内的奇数输出到窗体上? Private Sub Commandl Click Fori=0 To 100 If i Mod 2=1 Then Print i End sub 6.为实现对数学表达式:2!+4!+6!+8!+10!+12!的计算,需要建立一个函 数过程。试建立该函数过程 Public Function jc( As Long Dim i As Integer, j As Intege Dim tI As Long, t2 As Long For i=2 To 12 Step 2 Forj=1 To i Next J t2 =tl +t2 Next 7.建立一个窗体程序用于计算数学函数:Y=a*X^3+b*X^2+c*X+d的值,并将计 算的函数值显示。为此,窗体上摆放有5个文本框,用来输入系数及自变量:a、b、c X;一个标签,用来显示函数值;一个命令按钮,用来启动计算。建立一个函数过程来完 成具体计算,它将被命令按钮的Cick事件中的语句调用
·6· 第 1 章 Visual Basic 6.0 基本知识 按值传递参数时,所传递的是实际参数的值,实参、形参分别有不同的内存地址。如 果在被调用过程中改变了这个参数值,则所作变动只会到形参,不会影响实参。通过 ByVal 关键字可以声明按值传递的参数。 参数按地址传递时,所传递的是实际参数的地址,这时的实参与形参具有相同的内存 地址,所调用过程对形式参数所做的改变,也将随之反映到实际参数上来。通过 ByRef 关 键字可以声明按地址传递的参数。 5. 建立一个窗体程序,窗体上摆放有命令按钮。在命令按钮的 Click 事件中建立 For 循环或 Do While 循环,加上 If...Then...的嵌套程序,程序中使用 Print 语句,将 0 到 100 以 内的奇数输出到窗体上? Private Sub Command1_Click() Dim i As Integer For i = 0 To 100 If i Mod 2 = 1 Then Print i Next End Sub 6. 为实现对数学表达式:2!+4!+6!+8!+10!+12!的计算,需要建立一个函 数过程。试建立该函数过程。 Public Function jc() As Long Dim i As Integer, j As Integer Dim t1 As Long, t2 As Long t2 = 0 For i = 2 To 12 Step 2 t1 = 1 For j = 1 To i t1 = t1 * j Next j t2 = t1 + t2 Next i jc = t2 End Function 7. 建立一个窗体程序用于计算数学函数:Y=a*X^3+b*X^2+c*X+d 的值,并将计 算的函数值显示。为此,窗体上摆放有 5 个文本框,用来输入系数及自变量:a、b、c、d、 X;一个标签,用来显示函数值;一个命令按钮,用来启动计算。建立一个函数过程来完 成具体计算,它将被命令按钮的 Click 事件中的语句调用
第1章 Visual basic60基本知识 程序如下 Private Function hs(a As Single, b As Single, c As Single, d As Single, x As Single)As Single y=a*x3+b* 2+c*x+d Private Sub Commandl Click IblY =hs(val( txtA), Val(txtB), Val( txtC), Val(txtD), Val(ttx)) End Sub 8.试给出下列表达式的结果 (a) Sar(16)*(Abs(-9)-Int(-126)+Len(Trim(" Visual Basic6.0 HXH ")) (b)Lef("今天是:年,月,日",4)& Monthe(Date)&"-"&Day(Date) (b)今天是:7-1l 9.试说明 On error go to errbar与 On error resume next语句之间的区别。 10.试说明 Resume和 Resume next语句之间的区别 1l.试用对象的层次关系说明窗体、窗体上的控件、控件属性之间的关系。 第4章用户界面设计 1.Ⅴ isual basic中的窗体和控件都是可视化对象元素,它们之间的区别是什么? 窗体是容器,其用来装载控件。在创建应用程序时,窗体可以独立工作,而控件不能 独立工作,它需要依赖于一定的容器(例如,窗体)才能工作 2.在使用窗体的时候,往往需要对它的属性进行设置,试列举其常用属性。 参见教材 3.试通过文本框控件说明对象的方法、事件之间的区别。 当要使文本框获得光标焦点时,可以使用它的 SetFocus方法:而当文本框得到光标焦 点时,将会触发它的 GotFocus事件
第 1 章 Visual Basic 6.0 基本知识 ·7· 程序如下: Option Explicit Private Function hS(a As Single, b As Single, _ c As Single, d As Single, x As Single) As Single Dim y As Single y = a * x ^ 3 + b * x ^ 2 + c * x + d hS = y End Function Private Sub Command1_Click() lblY = hS(Val(txtA), Val(txtB), Val(txtC), Val(txtD), Val(txtX)) End Sub 8. 试给出下列表达式的结果: (a) Sqr(16) * (Abs(-9) - Int(-12.6)+Len(Trim(" Visual Basic6.0 中文版 "))) (b) Left("今天是:年,月,日", 4) & Month(Date) & "-" & Day(Date) (a)160 (b)今天是:7-11 9. 试说明 On Error GoTo ErrBar 与 On Error Resume Next 语句之间的区别。 10. 试说明 Resume 和 Resume Next 语句之间的区别。 11. 试用对象的层次关系说明窗体、窗体上的控件、控件属性之间的关系。 第 4 章 用户界面设计 1. Visual Basic 中的窗体和控件都是可视化对象元素,它们之间的区别是什么? 窗体是容器,其用来装载控件。在创建应用程序时,窗体可以独立工作,而控件不能 独立工作,它需要依赖于一定的容器(例如,窗体)才能工作。 2. 在使用窗体的时候,往往需要对它的属性进行设置,试列举其常用属性。 参见教材。 3. 试通过文本框控件说明对象的方法、事件之间的区别。 当要使文本框获得光标焦点时,可以使用它的 SetFocus 方法;而当文本框得到光标焦 点时,将会触发它的 GotFocus 事件
第1章 Visual basic60基本知识 4. Click事件是命令按钮最常用的事件,其作用是什么? 当在命令按钮上单击鼠标左键,或敲 Enter按键时,将会触发它的Clik事件。 5.试比较命令按钮、复选框、单选钮在应用上的异同? 命令按钮、复选框和单选钮都有 Click事件,都可以用于任务启动。但复选框、单选 钮被鼠标左键,或 Enter按键敲击后,还能够显示选择状态。 6.试比较文本框、列表框、组合框在应用上的异同? Text Boⅹ控件一般被用来输入、输出数据,编辑文本。通过其 Multi Line、 ScrollBars 属性可以设置文本框是否能进行多行编辑,或是否有垂直或水平滚动条 List Box控件用于显示项目列表,用户可以从列表框中的一系列选项中选择一个或多个 选项。当列表框中的选项数超过其可显示的区域,列表框会自动增加滚动条。 Combo box控件将 TextBox控件和 List box控件的功能结合在了一起。当在 Combo box 控件中选择列表项目时,即可以通过它的文本框输入,也可以从它所带的列表中选择。 7. ActiveX控件和 Visual basic的内部控件有什么不同? ActiveX控件是外部控件,其存在形式不同于和 Visual basic融合在一起的内部控件。 它们是以扩展名为ocx的文件形式存在于 isual basic系统之外,只在需要时才将其添加 到工具箱中。 8.建立一个含有窗体的标准程序,窗体上有两个列表框:Lst1、Lis2,一个命令按钮 Command I。要求建立这样的程序,使得当 Command1被单击时,List中被选中的项目移 入到Lst2中。 Private Sub Commandl Click( Dim i As Long, K As Long K=Listl Listcount -I IfKK If ListI, Selected(i) Then List2. Addltem Listl List(i) Listl. Removeltem i=i+1
·8· 第 1 章 Visual Basic 6.0 基本知识 4. Click 事件是命令按钮最常用的事件,其作用是什么? 当在命令按钮上单击鼠标左键,或敲 Enter 按键时,将会触发它的 Click 事件。 5. 试比较命令按钮、复选框、单选钮在应用上的异同? 命令按钮、复选框和单选钮都有 Click 事件,都可以用于任务启动。但复选框、单选 钮被鼠标左键,或 Enter 按键敲击后,还能够显示选择状态。 6. 试比较文本框、列表框、组合框在应用上的异同? TextBox 控件一般被用来输入、输出数据,编辑文本。通过其 MultiLine、ScrollBars 属性可以设置文本框是否能进行多行编辑,或是否有垂直或水平滚动条。 ListBox 控件用于显示项目列表,用户可以从列表框中的一系列选项中选择一个或多个 选项。当列表框中的选项数超过其可显示的区域,列表框会自动增加滚动条。 ComboBox 控件将 TextBox 控件和 ListBox 控件的功能结合在了一起。当在 ComboBox 控件中选择列表项目时,即可以通过它的文本框输入,也可以从它所带的列表中选择。 7. ActiveX 控件和 Visual Basic 的内部控件有什么不同? ActiveX 控件是外部控件,其存在形式不同于和 Visual Basic 融合在一起的内部控件。 它们是以扩展名为 .ocx 的文件形式存在于 Visual Basic 系统之外,只在需要时才将其添加 到工具箱中。 8. 建立一个含有窗体的标准程序,窗体上有两个列表框:List1、List2,一个命令按钮: Command1。要求建立这样的程序,使得当 Command1 被单击时,List1 中被选中的项目移 入到 List2 中。 Private Sub Command1_Click() Dim i As Long, K As Long i = 0 K = List1.ListCount - 1 If K K If List1.Selected(i) Then List2.AddItem List1.List(i) List1.RemoveItem i i = i - 1 K = K - 1 End If i = i + 1 Loop
第1章 Visual basic60基本知识 End Sub 9.命令按钮的 Click事件是用户触发事件,而窗体的Load事件是系统环境事件。这两 类事件的不同之处是什么? 用户触发事件的触发器由用户控制,例如: Click、 KeyPress、 MouseDown等事件 系统环境事件的触发器由 Visual basic系统或程序所控制,如窗体的Load、 Unload Query Unload事件,时钟控件的 Timer事件 10.试通过窗体的启动过程和卸载过程说明事件的触发顺序。 系统环境事件的触发是由系统自动安排的,它们往往有一个相对固定的执行顺序。当 窗体启动的时候,将依次触发: Initialize、Load、 Activate、 Resize事件。而当窗体卸载的 时候,则会先发生 Query Unload,然后再发生 Unload事件。 1l.编一个窗体程序,运行时将键盘上输入的所有字母转换成小写后显示在窗体中。 Private Sub Form KeyPress(Key Ascii As Integer) Print LCase( Chr(Key Asci)) 2.编写一个窗体程序,窗体中有一个文本框,要求在文本框中只能输入整数。 Private Sub TextI Key Press(Key Ascii As Integer) If Key Ascii 57 Then End If 13.编写一个窗体程序,窗体中有一个文本框,要求文本框输入的字符串的长度必须 是6,否则焦点不能离开文本框。 Private Sub TextI LostFocuso If Len(TextI)> 6 Then nd If nd sub
第 1 章 Visual Basic 6.0 基本知识 ·9· End Sub 9. 命令按钮的 Click 事件是用户触发事件,而窗体的 Load 事件是系统环境事件。这两 类事件的不同之处是什么? 用户触发事件的触发器由用户控制,例如:Click、KeyPress、MouseDown 等事件。 系统环境事件的触发器由 Visual Basic 系统或程序所控制,如窗体的 Load、Unload、 QueryUnload 事件,时钟控件的 Timer 事件。 10. 试通过窗体的启动过程和卸载过程说明事件的触发顺序。 系统环境事件的触发是由系统自动安排的,它们往往有一个相对固定的执行顺序。当 窗体启动的时候,将依次触发:Initialize、Load、Activate、Resize 事件。而当窗体卸载的 时候,则会先发生 QueryUnload,然后再发生 Unload 事件。 11. 编一个窗体程序,运行时将键盘上输入的所有字母转换成小写后显示在窗体中。 Private Sub Form_KeyPress(KeyAscii As Integer) Print LCase(Chr(KeyAscii)) End Sub 12. 编写一个窗体程序,窗体中有一个文本框,要求在文本框中只能输入整数。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 57 Then KeyAscii = 0 End If End Sub 13. 编写一个窗体程序,窗体中有一个文本框,要求文本框输入的字符串的长度必须 是 6,否则焦点不能离开文本框。 Private Sub Text1_LostFocus() If Len(Text1) <> 6 Then Text1.SetFocus End If End Sub
第1章 Visual basic60基本知识 4.编写一个倒计数窗体程序。其功能是,用户在文本框中输入一个自然数,然后单 击“倒计数”按钮,文本框中的数字就每隔0.5秒逐次减1,当减到0时,倒计数停止 Option Explicit Private Sub Form Load Timer l Enabled false Timer1 Interval =500 End Sub Private Sub Command1 Click Timer Enabled =Tr End Sub Private Sub Timer 1 Timer If Val(TextI. Text)=0 Then Timer 1. Enabled False Text. SetF Textl. Text Str( Val(TextIText End If End Sub 15.菜单有哪几种类型?应用程序中菜单的用途是什么? 主要有标准下拉菜单和弹出式菜单这两种类型。菜单能够有效改善用户界面。菜单实 质上是命令的组合,它把诸多面向用户的命令按照类别合理组织,并很直观地展现出来, 由此使用户可以很方便地操作命令。 16.工具栏的作用是什么?如何使得工具栏上的按钮和菜单命令在操作上保持一致? 工具栏是用来配合菜单的。工具栏具有菜单所缺少的图形化的外观,而且提供了比菜 单更快捷的访问方式。工具栏上的按钮可以通过调用菜单控件的事件来获得对菜单命令的 配合 17. Visual basic提供了哪些对话框函数 Visual basic提供的对话框函数有 (1) Input Box函数,用于等待用户在文本框中输入,并返回包含文本框内容的字符
·10· 第 1 章 Visual Basic 6.0 基本知识 14. 编写一个倒计数窗体程序。其功能是,用户在文本框中输入一个自然数,然后单 击“倒计数”按钮,文本框中的数字就每隔 0.5 秒逐次减 1,当减到 0 时,倒计数停止。 Option Explicit Private Sub Form_Load() Text1 = "" Timer1.Enabled = False Timer1.Interval = 500 End Sub Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Timer1_Timer() If Val(Text1.Text) = 0 Then Text1.Text = "" Timer1.Enabled = False Text1.SetFocus Else Text1.Text = Str(Val(Text1.Text) - 1) End If End Sub 15. 菜单有哪几种类型?应用程序中菜单的用途是什么? 主要有标准下拉菜单和弹出式菜单这两种类型。菜单能够有效改善用户界面。菜单实 质上是命令的组合,它把诸多面向用户的命令按照类别合理组织,并很直观地展现出来, 由此使用户可以很方便地操作命令。 16. 工具栏的作用是什么?如何使得工具栏上的按钮和菜单命令在操作上保持一致? 工具栏是用来配合菜单的。工具栏具有菜单所缺少的图形化的外观,而且提供了比菜 单更快捷的访问方式。工具栏上的按钮可以通过调用菜单控件的事件来获得对菜单命令的 配合。 17. Visual Basic 提供了哪些对话框函数? Visual Basic 提供的对话框函数有: (1)InputBox 函数,用于等待用户在文本框中输入,并返回包含文本框内容的字符