MsgBox 函数 (Visual Basic)
更新:2007 年 11 月
在对话框中显示消息,等待用户单击按钮,然后返回一个整数,指示用户单击了哪个按钮。
Public Function MsgBox( _
ByVal Prompt As Object, _
Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
Optional ByVal Title As Object = Nothing _
) As MsgBoxResult
参数
Prompt
必选。以消息形式显示在对话框中的 String 表达式。Prompt 的最大长度大约为 1024 个字符,具体取决于所用字符的宽度。如果 Prompt 包含多行,您可以在各行之间使用回车符(Chr(13))、换行符(Chr(10))或回车/换行符的组合(Chr(13) & Chr(10))分隔各行。Buttons
可选。数值表达式,它是值的总和,指定显示的按钮数目及按钮类型,使用的图标样式,默认按钮的标识以及消息框的样式等。如果省略 Buttons,则默认值为零。Title
可选。显示在对话框标题栏中的 String 表达式。如果省略 Title,则将应用程序名放在标题栏中。
设置
下表列出了 MsgBoxStyle 枚举值。
成员 |
值 |
说明 |
---|---|---|
OKOnly |
0 |
只显示“确定”按钮。 |
OKCancel |
1 |
显示“确定”和“取消”按钮。 |
AbortRetryIgnore |
2 |
显示“中止”、“重试”和“忽略”按钮。 |
YesNoCancel |
3 |
显示“是”、“否”和“取消”按钮。 |
YesNo |
4 |
显示“是”和“否”按钮。 |
RetryCancel |
5 |
显示“重试”和“取消”按钮。 |
Critical |
16 |
显示“关键消息”图标。 |
Question |
32 |
显示“警告查询”图标。 |
Exclamation |
48 |
显示“警告消息”图标。 |
Information |
64 |
显示“信息消息”图标。 |
DefaultButton1 |
0 |
第一个按钮是默认的。 |
DefaultButton2 |
256 |
第二个按钮是默认的。 |
DefaultButton3 |
512 |
第三个按钮是默认的。 |
ApplicationModal |
0 |
应用程序是有模式的。用户必须响应消息框,才能继续在当前应用程序中工作。 |
SystemModal |
4096 |
系统是有模式的。所有应用程序都被挂起,直到用户响应消息框。 |
MsgBoxSetForeground |
65536 |
指定消息框窗口为前景窗口。 |
MsgBoxRight |
524288 |
文本为右对齐。 |
MsgBoxRtlReading |
1048576 |
指定文本应为在希伯来语和阿拉伯语系统中从右到左显示。 |
第一组值 (0–5) 描述对话框中显示的按钮数量和类型。第二组值 (16, 32, 48, 64) 描述图标样式。第三组值 (0, 256, 512) 确定默认使用哪个按钮。第四组值 (0, 4096) 确定消息框的模式性,第五组值指定消息框窗口是否为前台窗口,以及文本对齐和方向。将这些数字相加以生成 Buttons 参数的最终值时,只能由每组值取用一个数字。
返回值
常数 |
值 |
---|---|
OK |
1 |
Cancel |
2 |
Abort |
3 |
Retry |
4 |
Ignore |
5 |
Yes |
6 |
No |
7 |
异常
异常类型 |
错误号 |
条件 |
---|---|---|
Prompt 不是一个 String 表达式,或者 Title 无效。 |
||
进程不是以 User Interactive 模式运行。 |
||
一个或多个参数,而不是 MsgBoxResult 或 MsgBoxStyle 枚举的成员。 |
如果正在升级使用非结构化错误处理方式的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象) 比较错误号。) 然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述 替换这种错误控制。
备注
如果对话框显示“取消”按钮,则按 Esc 键与单击“取消”按钮的效果相同。如果对话框包含“帮助”按钮,则为对话框提供区分上下文的帮助。但是,其他按钮中有一个被单击之前,都不会返回任何值。
说明: |
---|
若要除第一个参数外还指定其他参数,必须在表达式中使用 MsgBox 函数。如果省略任何位置参数,则必须保留相应的逗号分隔符。 |
说明: |
---|
MsgBox 函数需要 SafeTopLevelWindows 级别的 UIPermission,在部分信任情况下可能会影响其执行。有关更多信息,请参见 请求权限 和 UIPermission。 |
示例
本示例使用 MsgBox 函数在具有“是”和“否”按钮的对话框中显示一条严重错误信息。“否”按钮被指定为默认响应。这是通过将 MsgBox 常数值组合到数值表达式中来完成的。在本例中,4(“是”或“否”按钮的组合)、16(“关键消息”窗口)和 256(作为默认按钮的第二个按钮)相加的和为 276。由 MsgBox 函数返回的值由用户选择的按钮确定:“是”返回值 6;“否”则返回值 7。
Dim msg As String
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult
msg = "Do you want to continue?" ' Define message.
style = MsgBoxStyle.DefaultButton2 Or _
MsgBoxStyle.Critical Or MsgBoxStyle.YesNo
title = "MsgBox Demonstration" ' Define title.
' Display message.
response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes Then ' User chose Yes.
' Perform some action.
Else
' Perform some other action.
End If
要求
**模块:**Interaction
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)