MessageBox.Show Method (IWin32Window, String, String, MessageBoxButtons)


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

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


Type: System.Windows.Forms.IWin32Window

An implementation of IWin32Window that will own the modal dialog box.

Type: System.String

The text to display in the message box.

Type: System.String

The text to display in the title bar of the message box.

Type: System.Windows.Forms.MessageBoxButtons

One of the MessageBoxButtons values that specifies which buttons to display in the message box.

Return Value

Type: System.Windows.Forms.DialogResult

One of the DialogResult values.

Exception Condition

buttons is not a member of MessageBoxButtons.


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 validateUserEntry5()

	// 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;
		DialogResult result;

		// Displays the MessageBox.

		result = MessageBox.Show(this, message, caption, buttons);

		if(result == DialogResult.Yes)

			// Closes the parent form.






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

.NET Framework
Available since 1.1
Return to top