MessageBox::Show Method (String^, String^, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String^, HelpNavigator)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Displays a message box with the specified text, caption, buttons, icon, default button, options, and Help button, using the specified Help file and HelpNavigator.

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

static DialogResult Show(
	String^ text,
	String^ caption,
	MessageBoxButtons buttons,
	MessageBoxIcon icon,
	MessageBoxDefaultButton defaultButton,
	MessageBoxOptions options,
	String^ helpFilePath,
	HelpNavigator navigator


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.

Type: System.Windows.Forms::MessageBoxIcon

One of the MessageBoxIcon values that specifies which icon to display in the message box.

Type: System.Windows.Forms::MessageBoxDefaultButton

One of the MessageBoxDefaultButton values that specifies the default button for the message box.

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.

Type: System::String^

The path and name of the Help file to display when the user clicks the Help button.

Type: System.Windows.Forms::HelpNavigator

One of the HelpNavigator values.

Return Value

Type: System.Windows.Forms::DialogResult

One of the DialogResult values.

Exception Condition

buttons is not a member of MessageBoxButtons.


icon is not a member of MessageBoxIcon.


The defaultButton specified is not a member of MessageBoxDefaultButton.


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.


options specified both DefaultDesktopOnly and ServiceNotification.


buttons specified an invalid combination of MessageBoxButtons.

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.

When the user clicks the Help button, the help file specified in the helpFilePath parameter is opened and the Help content identified by the navigator parameter is displayed. The form that owns the message box (or the active form) also receives the HelpRequested event.

Compiled Help files provide table of contents, index, search, and keyword links in pages. You can use the following values for navigator: TableOfContents, Find, Index, or Topic.

The helpFilePath parameter can be of the form C:\path\sample.chm or /folder/file.htm.

The following code example demonstrates how to show a message box with a Help button. When the user clicks the Help button, the Mspaint.chm Help file is opened and the Help index tab is displayed. The example requires that the Mspaint.chm Help file is installed.

#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;

// Display a message box. The Help button opens 
// the Mspaint.chm Help file and shows the Help contents 
// on the Index tab.
System::Windows::Forms::DialogResult r3 = MessageBox::Show( "Message with Help file and Help navigator.", "Help Caption", MessageBoxButtons::OK, MessageBoxIcon::Question, MessageBoxDefaultButton::Button1, (MessageBoxOptions)0, "mspaint.chm", HelpNavigator::Index );


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


to access a HTML help file through a HTTP request. Associated enumeration: NetworkAccess::Connect


to access a HTML help file not served from a HTTP server. Associated enumeration: UnmanagedCode

.NET Framework
Available since 2.0
Return to top