MessageBox::Show Method (IWin32Window^, String^, String^, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions)
Displays a message box in front of the specified object and with the specified text, caption, buttons, icon, default button, and options.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
public: static DialogResult Show( IWin32Window^ owner, String^ text, String^ caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options )
Parameters
- owner
-
Type:
System.Windows.Forms::IWin32Window^
An implementation of IWin32Window that will own the modal dialog box.
- text
-
Type:
System::String^
The text to display in the message box.
- caption
-
Type:
System::String^
The text to display in the title bar of the message box.
- buttons
-
Type:
System.Windows.Forms::MessageBoxButtons
One of the MessageBoxButtons values that specifies which buttons to display in the message box.
- icon
-
Type:
System.Windows.Forms::MessageBoxIcon
One of the MessageBoxIcon values that specifies which icon to display in the message box.
- defaultButton
-
Type:
System.Windows.Forms::MessageBoxDefaultButton
One of the MessageBoxDefaultButton values the specifies the default button for the message box.
- options
-
Type:
System.Windows.Forms::MessageBoxOptions
One of the MessageBoxOptions values that specifies which display and association options will be used for the message box. You may pass in 0 if you wish to use the defaults.
| Exception | Condition |
|---|---|
| InvalidEnumArgumentException | buttons is not a member of MessageBoxButtons. -or- icon is not a member of MessageBoxIcon. -or- defaultButton is not a member of MessageBoxDefaultButton. |
| InvalidOperationException | An attempt was made to display the MessageBox in a process that is not running in User Interactive mode. This is specified by the SystemInformation::UserInteractive property. |
| ArgumentException | options specified both DefaultDesktopOnly and ServiceNotification. -or- options specified DefaultDesktopOnly or ServiceNotification and specified a value in the owner parameter. These two options should be used only if you invoke the version of this method that does not take an owner parameter. -or- buttons specified an invalid combination of MessageBoxButtons. |
You can use the owner parameter to specify a particular object, which implements the IWin32Window interface, that will serve as the dialog box's top-level window and owner. A message box is a modal dialog box, which means no input (keyboard or mouse click) can occur except to objects on the modal form. The program must hide or close a modal form (typically in response to some user action) before input to another form can occur.
You can have a maximum of three buttons on the message box.
The following code example demonstrates how to display a MessageBox with the options supported by this overload of Show. After verifying that a string variable, ServerName, is empty, the example displays a MessageBox, offering the user the option to cancel the operation. If the Show method's return value evaluates to Yes, the form that displayed the MessageBox is closed.
private: void validateUserEntry2() { // Checks the value of the text. if ( serverName->Text->Length == 0 ) { // Initializes the variables to pass to the MessageBox::Show method. String^ message = "You did not enter a server name. Cancel this operation?"; String^ caption = "No Server Name Specified"; MessageBoxButtons buttons = MessageBoxButtons::YesNo; System::Windows::Forms::DialogResult result; // Displays the MessageBox. result = MessageBox::Show( this, message, caption, buttons, MessageBoxIcon::Question, MessageBoxDefaultButton::Button1, MessageBoxOptions::RightAlign ); if ( result == ::DialogResult::Yes ) { // Closes the parent form. this->Close(); } } }
for safe subwindows to call this method. Associated enumeration: UIPermissionWindow::SafeSubWindows
Available since 1.1