MessageBox.Show Method (IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String)


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.

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

Public Shared Function Show (
	owner As IWin32Window,
	text As String,
	caption As String,
	buttons As MessageBoxButtons,
	icon As MessageBoxIcon,
	defaultButton As MessageBoxDefaultButton,
	options As MessageBoxOptions,
	helpFilePath As String
) As DialogResult


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.

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.

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. 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.

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

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 that parented to the main form. The message box displays a Help button. When the user clicks the Help button, the Mspaint.chm Help file is opened. The example requires that the Mspaint.chm Help file is installed.

Imports System
Imports System.Drawing
Imports System.ComponentModel
Imports System.Windows.Forms
' Display a message box parented to the main form. 
' The Help button opens the Mspaint.chm Help file.
Dim r2 As DialogResult = MessageBox.Show(Me, "Message with Help file.", _
                                   "Help Caption", MessageBoxButtons.OK, _
                                   MessageBoxIcon.Question, _
                                   MessageBoxDefaultButton.Button1, _
                                   0, _


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