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对话框的详细教程就学习结束啦。我

们下节课再见吧。