Displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked.
Public Function MsgBox( _ ByVal Prompt As Object, _ Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _ Optional ByVal Title As Object = Nothing _ ) As MsgBoxResult
The MsgBoxStyle enumeration values are listed in the following table.
Enumeration | Value | Description |
---|---|---|
OKOnly | 0 | Displays OK button only. |
OKCancel | 1 | Displays OK and Cancel buttons. |
AbortRetryIgnore | 2 | Displays Abort, Retry, and Ignore buttons. |
YesNoCancel | 3 | Displays Yes, No, and Cancel buttons. |
YesNo | 4 | Displays Yes and No buttons. |
RetryCancel | 5 | Displays Retry and Cancel buttons. |
Critical | 16 | Displays Critical Message icon. |
Question | 32 | Displays Warning Query icon. |
Exclamation | 48 | Displays Warning Message icon. |
Information | 64 | Displays Information Message icon. |
DefaultButton1 | 0 | First button is default. |
DefaultButton2 | 256 | Second button is default. |
DefaultButton3 | 512 | Third button is default. |
ApplicationModal | 0 | Application is modal. The user must respond to the message box before continuing work in the current application. |
SystemModal | 4096 | System is modal. All applications are suspended until the user responds to the message box. |
MsgBoxSetForeground | 65536 | Specifies the message box window as the foreground window. |
MsgBoxRight | 524288 | Text is right-aligned. |
MsgBoxRtlReading | 1048576 | Specifies text should appear as right-to-left reading on Hebrew and Arabic systems. |
The first group of values (05) describes the number and type of buttons displayed in the dialog box; the second group (16, 32, 48, 64) describes the icon style; the third group (0, 256, 512) determines which button is the default; the fourth group (0, 4096) determines the modality of the message box, and the fifth group specifies whether or not the message box window is the foreground window, along with the alignment and direction of the text. When adding numbers to create a final value for the Buttons argument, use only one number from each group.
Constant | Value |
---|---|
OK | 1 |
Cancel | 2 |
Abort | 3 |
Retry | 4 |
Ignore | 5 |
Yes | 6 |
No | 7 |
Exception type | Error number | Condition |
---|---|---|
5 | Prompt is not a String expression, or Title is invalid. | |
5 | Process is not running in User Interactive mode. | |
5 | One or more parameters not a member of MsgBoxResult or MsgBoxStyle enumerations. |
If the dialog box displays a Cancel button, pressing the ESC key has the same effect as clicking Cancel. If the dialog box contains a Help button, context-sensitive Help is provided for the dialog box. However, no value is returned until one of the other buttons is clicked.
Note To specify more than the first argument, you must use the MsgBox function in an expression. If you omit any positional arguments, you must retain the corresponding comma delimiter.
This example uses the MsgBox function to display a critical-error message in a dialog box with Yes and No buttons. The No button is specified as the default response. This is done by combining the MsgBox constant values into one numeric expression. In this case, adding 4 (the Yes/No button combination) and 16 (the Critical Message window) and 256 (the second button as default button) gives a total of 276. The value returned by the MsgBox function depends on the button chosen by the user: Yes returns a value of 6; No returns a value of 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