C# Message Box

WinForms MessageBox control displays a popup message with actions. The code example demonstrates how launch and use Windows Forms MessageBox in C# and .NET.

MessageBox control in Windows Forms is used to display a message with the given text and action buttons. You can also use MessageBox control to add additional options such as a caption, an icon, or help buttons. 

In this article, I will demonstrates how to launch a MessageBox in a WinForms app using C# and .NET. You will also learn how to use the MessageBox class dynamically in code samples. 

Get Started

Create a Windows Forms application using Visual Studio.

MessageBox class has an overloaded static Show method that is used to display a message.

Simple MessageBox

The simplest form of a MessageBox is a dialog with a text and OK button. When you click OK button, the box disappears.

The following code snippet creates a simple Message Box.
  1. string message = "Simple MessageBox";  
  2. MessageBox.Show(message);  
MessageBox with Title

The following code snippet creates a simple MessageBox with a title.
  1. string message = "Simple MessageBox";  
  2. string title = "Title";  
  3. MessageBox.Show(message, title);  
 MessageBox with Title

MessageBox with Buttons

A MessageBox can have different button combinations such as YesNo and 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 the Yes button is clicked, the application will be closed. The Show method returns a DialogResult enumeration.
  1. string message = "Do you want to close this window?";  
  2. string title = "Close Window";  
  3. MessageBoxButtons buttons = MessageBoxButtons.YesNo;  
  4. DialogResult result = MessageBox.Show(message, title, buttons);  
  5. if (result == DialogResult.Yes) {  
  6.     this.Close();  
  7. else {  
  8.     // Do something  
  9. }  

MessageBox with Buttons

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.
  1. string message = "Do you want to abort this operation?";  
  2. string title = "Close Window";  
  3. MessageBoxButtons buttons = MessageBoxButtons.AbortRetryIgnore;  
  4. DialogResult result = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning);  
  5. if (result == DialogResult.Abort) {  
  6.     this.Close();  
  7. }  
  8. elseif(result == DialogResult.Retry) {  
  9.     // Do nothing  
  10. }  
  11. else {  
  12.     // Do something  
  13. }  

MessageBox with Icon

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 the following three values.
  • Button1
  • Button2
  • Button3
The following code snippet creates a MessageBox with a title, buttons, and an icon and sets second button as a default button.
  1. string message = "Do you want to abort this operation?";  
  2. string title = "Close Window";  
  3. MessageBoxButtons buttons = MessageBoxButtons.AbortRetryIgnore;  
  4. DialogResult result = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);  
  5. if (result == DialogResult.Abort) {  
  6.     this.Close();  
  7. }  
  8. elseif(result == DialogResult.Retry) {  
  9.     // Do nothing  
  10. }  
  11. else {  
  12.     // Do something  
  13. }  

MessageBox with Default Button

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.
  1. DialogResult result = MessageBox.Show(message, title, buttons,  
  2. MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2,  
  3. MessageBoxOptions.RightAlign|MessageBoxOptions.RtlReading);  

MessageBox with Message Options

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.
  1. DialogResult result = MessageBox.Show(message, title, buttons,  
  2. MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2,  
  3. MessageBoxOptions.RightAlign, true );  

MessageBox with Help Button

We can also specify a help file when the Help button is clicked. The following code snippet references a help file.
  1. DialogResult result = MessageBox.Show(message, title,  
  2. buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, 0, "helpfile.chm");  
Summary

In this article, we discussed how to create and use a MessageBox in a Windows Forms application.