C# Message Box

C# MessageBox in Windows Forms displays 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, you'll learn how to display and use a MessageBox in C# WinForms app. You will also learn how to use C# MessageBox class dynamically in code samples. 
 

C# MessageBox

 
MessageBox class has an overloaded static Show method that displays a message box with a message and action buttons. The action buttons can be OK and Cancel, Yes and No etc. Here are some of the options that can be used in C# message box.
 

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



Mindcracker
Founded in 2003, Mindcracker is the authority in custom software development and innovation. We put best practices into action. We deliver solutions based on consumer and industry analysis.