3-14~3-16所示。
表3-14 button中b1的取值
|
b1的取值 |
常量名 |
说明 |
|
0 |
vbOkOnly |
只显示【确定】按钮 |
|
1 |
vbOkCancel |
显示【确定】和【取消】按钮 |
|
2 |
vbAbortRetryIgnore |
显示【终止】,【重试】和【忽略】按钮 |
|
3 |
vbYesNoCancel |
显示【是】,【否】和【取消】按钮 |
|
4 |
vbYesNo |
显示【是】和【否】按钮 |
|
5 |
vbRetryCancel |
显示【重试】和【取消】按钮 |
表3-15 button中b2的取值
|
b2的取值 |
常量名 |
说明 |
|
16 |
vbCritical |
显示关键信息图标 |
|
32 |
vbQuestion |
显示警示疑问图标 |
|
48 |
vbExclamation |
显示警告信息图标 |
|
64 |
vbInformation |
显示通知信息图标 |
表3-16 button中b3的取值
|
b3的取值 |
常量名 |
说明 |
|
0 |
vbDefaultButton1 |
第一个按钮为缺省按钮 |
|
256 |
vbDefaultButton2 |
第二个按钮为缺省按钮 |
|
512 |
vbDefaultButton3 |
第三个按钮为缺省按钮 |
(3)MsgBox()返回的值指明了在对话框中选择了哪一个按钮,见表3-17所示。
表3-17 MsgBox函数的返回值
|
取值 |
内置常量 |
按钮名 |
|
1 |
vbOK |
OK(确定) |
|
2 |
vbCancel |
Cancel(取消) |
|
3 |
vbAbort |
Abort(终止) |
|
4 |
vbRetry |
Retry(重试) |
|
5 |
vbIgnore |
Ignore(忽略) |
|
6 |
vbYes |
Yes(是) |
|
7 |
vbNo |
No(否) |
(4)若不需要返回值,可以使用下面的MsgBox命令形式(MsgBox语句):
MsgBox(Prompt[,button][,title][,helpfile,context])
【实例3.9】 利用输入框和消息框计算并显示圆面积。
打开代码编辑窗口,在其中输入如下代码:
Private Sub Command1_Click()
Dim r As Integer, s As Single
Const PI = 3.14
r = InputBox("在下面的文本框中输入圆的半径", "输入半径")
s = PI * r * r
MsgBox "圆的面积是" & s, vbOKOnly + vbInformation, "计算结果"
End Sub
程序运行界面如图3-18、3-19所示。


图3-18 在输入框中输入半径 图3-19 在消息框中计算结果
在程序的设计过程中,错误是难免的。为了应付在未知情况下发生的各种程序错误,因此,一个好的应用程序应该拥有良好的错误处理能力。用户在编程时,要充分考虑到运行时可能遇到的各种错误,如对软盘操作时,软驱中没有软盘,这时就会发生错误,程序会被终止。为此,VB提供了程序调试工具,如设置断点、观察变量和过程跟踪。
简单的错误可以用眼睛直接看出来,但复杂的错误就需靠调试手段进行查找。VB提供了强大的调试工具,主要通过设置断点、插入观察变量、逐行执行和过程跟踪等手段进行调试,并在调试窗口中显示反馈信息。
1.VB的三种工作模式
VB有三种工作模式:设计模式、运行模式和中断模式。程序所处的工作模式会在VB环境的标题栏中显示出来。当应用程序正在VB环境下进行调试时,程序进入中断模式(标题栏显示【break】),如图3-20所示。

图3-20 中断模式
2.设置断点
在VB中我们可以通过单步执行(按F8键)或设置断点的方法使程序暂停运行,进入中断模式。
设置断点的方法有两种:
l 将光标定位在某行,选择【调试】菜单上的【切换断点】命令或通过单击调试工具栏上的【切换断点】的按钮,则在该行上设置了一个断点。
l 在需要设置断点的代码行的左边单击鼠标即可。
设置了断点的行将以粗体显示,并在该行左边显示一个咖啡色的圆点,作为断点标记。程序在运行时,当运行到断点处,程序会被挂起,进入中断状态。当把鼠标移到一个变量处,会显示变量的当前值。清除断点的方法同断点的设置。
3.跟踪应用程序的执行
通常使用的调试手段是【逐语句】跟踪和【逐过程】跟踪。
(1)【逐语句】跟踪
【逐语句】执行就是一条语句一条语句地执行程序代码,每执行完一条就进入中断,便于用户观察程序执行的流程和变量值的变化。
实现【逐语句】跟踪的方法,可以通过【调试】菜单中的【逐语句】命令,或调试工具栏中的【逐语句】按钮,或利用快捷键F8。
(2)【逐过程】跟踪
当程序要调用其他过程时,利用【逐语句】就会进入被调用程序内部一条一条语句执行,当排除了过程的出错可能之后,这样【逐语句】执行被凋过程显然没必要,所以可以采用【逐过程】跟踪,即把调用过程当作一条语句执行。
实现【逐过程】跟踪的方法,可以通过【调试】菜单中的【逐过程】命令,或调试工具栏中的【逐过程】按钮,或利用快捷键Shift+F8。
当使用【逐语句】进入被调过程内部后,若已能判断该过程没有错误,希望提前跳出该过程的话,可通过【调试】菜单中的【跳出】命令,或调试工具栏中的【跳出】按钮,或利用快捷键Ctrl+Shift+F8。