MessageBox::Show Method (IWin32Window^, String^, String^, MessageBoxButtons, MessageBoxIcon)

 

Displays a message box in front of the specified object and with the specified text, caption, buttons, and icon.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
static DialogResult Show(
	IWin32Window^ owner,
	String^ text,
	String^ caption,
	MessageBoxButtons buttons,
	MessageBoxIcon icon
)

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.

Return Value

Type: System.Windows.Forms::DialogResult

One of the DialogResult values.

Exception Condition
InvalidEnumArgumentException

buttons is not a member of MessageBoxButtons.

-or-

icon is not a member of MessageBoxIcon.

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.

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 validateUserEntry4()
   {
      // 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 );
         if ( result == ::DialogResult::Yes )
         {
            // Closes the parent form.
            this->Close();
         }
      }
   }

UIPermission

for safe subwindows to call this method. Associated enumeration: UIPermissionWindow::SafeSubWindows

.NET Framework
Available since 1.1
Return to top
Show: