MessageBox control displays a message with specified text. A
message box may have some additional options including a caption, icon, and
help buttons. In this article, I will discuss how to use the MessageBox class
to display messages in Windows Forms and C#.
MessageBox class has an overloaded static Show method that
is used to display a message. Here are most of the forms of MessageBox.
Simple MessageBox
The simplest form of a MessageBox is a dialog with a text
and OK button. The following code snippet creates a simple MessageBox.
string message = "Simple
MessageBox";
MessageBox.Show(message);
MessageBox with Title
The following code snippet creates a simple MessageBox with
a title.
string message = "Simple
MessageBox";
string title = "Title";
MessageBox.Show(message, title);
MessageBox with Buttons
A MessageBox can have different kinds of button combination
such as YesNo or OKCancel. The MessageBoxButtons enumeration represents the
buttons to be displayed on a MessageBox and has following values.
-
OK
- OKCancel
-
AbortRetryIgnore
-
YesNoCancel
-
YesNo
-
RetryCancel
The following code snippet creates a MessageBox with a title
and Yes and No buttons. This is a typical MessageBox you may call when you want
to close an application. If Yes button is clicked, the application will be
closed. The Show method returns a DialogResult enumeration.
string message = "Do you
want to close this window?";
string title = "Close
Window";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result = MessageBox.Show(message,
title, buttons);
if (result == DialogResult.Yes)
{
this.Close();
}
else
{
// Do something
}
MessageBox with Icon
A MessageBox can display an icon on the dialog. A
MessageBoxIcons enumeration represents an icon to be displayed on a MessageBox
and has following values.
- None
-
Hand
- Question
-
Exclamation
-
Asterisk
-
Stop
-
Error
- Warning
-
Information
The following code snippet creates a MessageBox with a
title, buttons, and an icon.
string message = "Do you
want to abort this operation?";
string title = "Close
Window";
MessageBoxButtons buttons = MessageBoxButtons.AbortRetryIgnore;
DialogResult result = MessageBox.Show(message,
title, buttons, MessageBoxIcon.Warning);
if (result == DialogResult.Abort)
{
this.Close();
}
else if (result == DialogResult.Retry)
{
// Do nothing
}
else
{
// Do something
}
MessageBox with Default Button
We can also set the default button on a MessageBox. By
default, the first button is the default button. The MessageBoxDefaultButton
enumeration is used for this purpose and it has following three values.
The following code snippet creates a MessageBox with a
title, buttons, and an icon and sets second button as a default button.
string message = "Do you
want to abort this operation?";
string title = "Close
Window";
MessageBoxButtons buttons = MessageBoxButtons.AbortRetryIgnore;
DialogResult result = MessageBox.Show(message,
title, buttons,
MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (result == DialogResult.Abort)
{
this.Close();
}
else if (result == DialogResult.Retry)
{
// Do nothing
}
else
{
// Do something
}
MessageBox with Message Options
MessageBoxOptions enumeration represents various options and
has following values.
-
ServiceNotification
- DefaultDesktopOnly
- RightAlign
-
RtlReading
The following code snippet creates a MessageBox with various
options.
DialogResult result = MessageBox.Show(message,
title, buttons,
MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2,
MessageBoxOptions.RightAlign|MessageBoxOptions.RtlReading);
MessageBox with Help Button
A MessageBox can have an extra button called Help button.
This is useful when we need to display a help file. The following code snippet
creates a MessageBox with a Help button.
DialogResult result = MessageBox.Show(message,
title, buttons,
MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2,
MessageBoxOptions.RightAlign, true );
We can also specify a help file when the Help button is
clicked. The following code snippet references a help file.
DialogResult result = MessageBox.Show(message,
title,
buttons, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1, 0, "helpfile.chm");
Summary
In this article, we discussed discuss how to create and use a
MessageBox in a Windows Forms application.