Interaction.MsgBox(Object, MsgBoxStyle, Object) 方法

定义

在对话框中显示消息,等待用户单击按钮,然后返回一个整数,该整数指示用户单击的按钮。

public static Microsoft.VisualBasic.MsgBoxResult MsgBox (object Prompt, Microsoft.VisualBasic.MsgBoxStyle Buttons = Microsoft.VisualBasic.MsgBoxStyle.OkOnly, object? Title = default);
public static Microsoft.VisualBasic.MsgBoxResult MsgBox (object Prompt, Microsoft.VisualBasic.MsgBoxStyle Buttons = Microsoft.VisualBasic.MsgBoxStyle.ApplicationModal, object Title = default);
static member MsgBox : obj * Microsoft.VisualBasic.MsgBoxStyle * obj -> Microsoft.VisualBasic.MsgBoxResult
Public Function MsgBox (Prompt As Object, Optional Buttons As MsgBoxStyle = Microsoft.VisualBasic.MsgBoxStyle.OkOnly, Optional Title As Object = Nothing) As MsgBoxResult
Public Function MsgBox (Prompt As Object, Optional Buttons As MsgBoxStyle = Microsoft.VisualBasic.MsgBoxStyle.ApplicationModal, Optional Title As Object = Nothing) As MsgBoxResult

参数

Prompt
Object

必需。 作为消息显示在对话框中的 String 表达式。 Prompt 的最大长度大约为 1024 个字符,具体取决于所用字符的宽度。 如果 Prompt 由多行组成,则可以使用回车符 (Chr(13)) 、换行符 (Chr(10)) 或每行之间的回车符/换行符组合 (Chr(13) & Chr(10)) 分隔这些行。

Buttons
MsgBoxStyle

可选。 数值表达式,它是值的总和,指定显示的按钮数目及按钮类型,使用的图标样式,默认按钮的标识以及消息框的样式等。 如果省略 Buttons,则默认值为 0。

Title
Object

可选。 显示在对话框标题栏中的 String 表达式。 如果省略 Title,则标题栏中显示应用程序名称。

返回

以下值之一:

常数Value
OK1
Cancel2
Abort3
Retry4
Ignore5
Yes6
No7

例外

Prompt 不是一个 String 表达式,或者 Title 无效。

进程不是以 User Interactive 模式运行。

一个或多个参数,而不是 MsgBoxResultMsgBoxStyle 枚举的成员。

示例

此示例使用 MsgBox 函数在包含“是”和“否”按钮的对话框中显示严重错误消息。 “否”按钮指定为默认响应。 这是通过将常量值组合 MsgBox 成一个数值表达式来完成的。 在这种情况下, (“是/否”按钮组合) 添加 4, (“ 关键消息” 窗口) 添加 16 个, (第二个按钮作为默认按钮) 总共 276。 函数返回 MsgBox 的值取决于用户选择的按钮:是返回值 6;No 返回值 7。

' The following example requires that Option Infer be set to On.

' Define the message you want to see inside the message box.
Dim msg = "Do you want to continue?"

' Display a simple message box.
MsgBox(msg)

' Define a title for the message box.
Dim title = "MsgBox Demonstration"

' Add the title to the display.
MsgBox(msg, , title)

' Now define a style for the message box. In this example, the
' message box will have Yes and No buttons, the default will be
' the No button, and a Critical Message icon will be present.
Dim style = MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2 Or
            MsgBoxStyle.Critical

' Display the message box and save the response, Yes or No.
Dim response = MsgBox(msg, style, title)

' Take some action based on the response.
If response = MsgBoxResult.Yes Then
    MsgBox("YES, continue!!", , title)
Else
    MsgBox("NO, stop!!", , title)
End If

注解

如果省略任何位置参数,则必须保留相应的逗号分隔符。

如果对话框显示“取消”按钮,则按 ESC 键的效果与单击“取消”的效果相同

如果对话框包含 “帮助 ”按钮,则会为对话框提供上下文相关的帮助。 但是,在关闭其他任一按钮前,不会返回任何值。 在 Windows 窗体应用程序中,选择“ 帮助 ”按钮将 HelpRequested 执行窗体的事件。

注意

函数MsgBoxSafeTopLevelWindows 级别要求UIPermission,这可能会影响它在部分信任情况下的执行。 有关详细信息,请参阅 UIPermission

MsgBoxStyle下表中列出了枚举值。

成员 Value 说明
成员 Value 说明
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 时,仅使用每个组中的一个数字。

适用于

另请参阅