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.
Dim message As String = "Simple MessageBox"
MessageBox.Show(message)

MessageBox with Title
The following code snippet creates a simple MessageBox with a title.
Dim message As String = "Simple MessageBox"
Dim title As String = "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.
Dim message As String = "Do you want to close this window?"
Dim title As String = "Close Window"
Dim buttons As MessageBoxButtons = MessageBoxButtons.YesNo
Dim result As DialogResult = MessageBox.Show(message, title, buttons)
If (result = DialogResult.Yes) Then
Me.Close()
Else
End If

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.
Dim message As String = "Do you want to abort this operation?"
Dim title As String = "Close Window"
Dim buttons As MessageBoxButtons = MessageBoxButtons.AbortRetryIgnore
Dim result As DialogResult = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning)
If (result = DialogResult.Abort) Then
Me.Close()
Else
End If

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.
Dim message As String = "Do you want to abort this operation?"
Dim title As String = "Close Window"
Dim buttons As MessageBoxButtons = MessageBoxButtons.AbortRetryIgnore
Dim result As DialogResult = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2)
If (result = DialogResult.Abort) Then
Me.Close()
Else
End If

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.
Dim result As DialogResult = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2,
MessageBoxOptions.RightAlign Or 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.
Dim result As DialogResult = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2,
MessageBoxOptions.RightAlign Or MessageBoxOptions.RtlReading, 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.