2024年4月29日发(作者:)
对话框InputBox和MsgBox
“ 大家好,从本节课程开始,我们一起来学习VB中各种对话框的使用。”
本节课程呢,我们一起来学习InputBox和MsgBox对话框。这两个对话框在VB中非常
的重要,使用频次很高,熟练的掌握它们,可以为编程带来更高的效率。
01—
输入对话框InputBox
InputBox 函数
作用:
在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的
String。
语法:
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
参数:
参数
Prompt
描述
必需的。作为对话框消息出现的字符串表达式。
prompt
的最大长度大约是 1024 个字符,由所用
字符的宽度决定。如果
prompt
包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Ch
r(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 来分隔。
Title
Default
可选的。显示对话框标题栏中的字符串表达式。如果省略
title
,则把应用程序名放入标题栏中。
可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略
default,
则
文本框为空。
Xpos
可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略
xpos
,则
对话框会在水平方向居中。
Ypos
可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略
ypos
,则对话
框被放置在屏幕垂直方向距下边大约三分之一的位置。
Helpfile
可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供
h
elpfile
,则也必须提供
context
。
Context
可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供
co
ntext
,则也必须要提供
helpfile
。
参数中,我们一般只需要使用前面三个Prompt、Title、Default。
Prompt 表示对话框中的提示文本,用来提示用户需要输入什么。
Title 是对话框的标题
Default 是对话框中的默认值。
举例1:
运行效果如下:
以上例子,虽然正确的使用了InputBox,但是并没有接收用户输入的数据。因
此实际上这样的用法通常是没有意义的。
举例2:
运行效果如下:
这个例子中,我用了一个变量age来接收InputBox函数的返回值,获得了用
户输入的数据。
细心的读者可能会发现,例1和例2中,InputBox函数的用法有一点区别。例
子中InputBox中的参数,并没有用括号,而例2中却使用了括号。其实,这
是因为例1中没有使用变量接收InputBox函数的返回值,所以不需要使用括
号,这一点我们在函数Function课程中已经讲过了。相反例2使用了变量接
收函数返回值,因此需要括号将参数给括起来。
另一点,需要注意的是,InputBox函数的返回值的数据类型是String字符串
类型。因此,如果需要使用其进行计算,则一定要记得用val来转换数据类型
为数值型。
如果用户单击了“取消”按钮,则会返回一个长度为0的空字符串""。
InputBox举例
错误案例:
运行程序,分别输入1和2,发现输出的结果是12,如下图所示:
这个例子中,1+2=12,很明显是不正确的,其错误的原因就是数据类型不正确。
正确案例:
运行程序,分别输入1和2,结果如下图所示:
这里我们利用val转换函数,将字符串类型的数据转换为数值型数据,然后再
进行求和,就可以得到正确的结果了。
02—
消息对话框Msgbox
Msgbox函数
作用:
在对话框中显示消息,等待用户单击按钮,并返回一个 Integer告诉用户单
击哪一个按钮。
语法:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
参数:
部分
Prompt
描述
必需的。字符串表达式,作为显示在对话框中的消息。
prompt
的最大长度大约为 1024 个字
符,由所用字符的宽度决定。如果
prompt
的内容超过一行,则可以在每一行之间用回车
符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各
行分隔开来。
Buttons
可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是
什么以及消息框的强制回应等。如果省略,则
buttons
的缺省值为 0。
Title
可选的。在对话框标题栏中显示的字符串表达式。如果省略
title
,则将应用程序名放在标题
栏中。
Helpfile
可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了
he
lpfile
,则也必须提供
context
。
Context
可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供
了
context
,则也必须提供
helpfile
。
消息对话框MsgBox,可以弹出一个消息框,用于提示用户,并等待用户做出选择。
消息对话框中的前三个参数是需要掌握的,后面两个参数可以不做了解。
Prompt 参数是在对话框中显示的消息,用于提示用户,是必要参数。
Title 参数是对话框的标题,非必要参数,不设置该参数的话,则会默认将工程名用
作于标题。
Buttons 参数是可选项,用于指定对话框的形式
为了方便大家理解Buttons各个选项的对话框形式,我把这些参数及对应的效果做了一
张表格,如下所示:
常数
vbOKOnly
值
0
描述
只显示 OK 按
钮。
图例
VbOKCancel
1
显示 OK 及 C
ancel 按钮。
VbAbortRetryI
gnore
2
显示 Abort、Ret
ry 及 Ignor
e 按钮。
VbYesNoCancel
3
显示 Yes、N
o 及 Cance
l 按钮。
VbYesNo
4
显示 Ye
s 及 No 按
钮。
VbRetryCancel
5
显示 Retr
y 及 Cance
l 按钮。
VbCritical
16
显示 Critical
Message 图标。
VbQuestion
32
显示 Warning Q
uery 图标。
VbExclamation
48
显示 Warning M
essage 图标。
VbInformation
64
显示 Informati
on Message 图
标。
Buttons参数还可以叠加使用
例如,我们可以将vbOKCancel和vbExclamation叠加起来,于是可以实现具有确定和
取消按钮,同时有警示图标。
代码:
运行效果如下图:
如何判断用户点击了哪一个按钮?
Msgbox函数在用户点击了按钮之后,会返回一个整数,用于指明用户单击的按
钮类型。
返回值
常数
vbOk
vbCancel
1
2
Ok
Cancel
值 描述
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
3
4
5
6
7
Abort
Retry
Ignore
Yes
No
MsgBox举例
运行程序,弹出消息对话框
获取用户选择的按钮,并打印出来
以上就是InputBox和MsgBox对话框的详细介绍。接下来我们做一个实战练习。
03—
实战练习
要求:
设计一款猜数字游戏。点击开始游戏后,软件内随机一个1-100之内的整数,之后弹出
一个InputBox输入框,由用户输入一个数,系统判断用户输入的整数是否与目标数一
致,如果大了,则提示猜大了,如果小了则提示猜小了,直到猜对了为止。
分析:
这道题目的难度并不大,利用本文学习的InputBox和Msgbox来与用户进行交互,并利
用do循环来重复执行这一个过程,直到用户猜对。提示:由于至少需要执行一次,所
以要使用do...Loop循环。
界面设计:
如下图所示,只需要一个窗体和一个命令按钮即可。
代码设计:
测试程序:
点击开始游戏按钮后,弹出输入对话框。
用户每输入一个数字后,就会给出提示。
直到猜对之后,给出正确提示并。
好了,本节课程关于InputBox和MsgBox对话框的详细教程就学习结束啦。我
们下节课再见吧。
发布评论