How can I show message boxes with a «Ding!» sound and a red ‘close’ button in it? This is what I’m talking about:
I’m trying to create some custom errors and warnings, but this:
MessageBox.Show("asdf");
doesn’t seem to give me any customization options.
TylerH
20.7k65 gold badges73 silver badges98 bronze badges
asked Jan 21, 2010 at 13:21
Try this:
MessageBox.Show("Some text", "Some title",
MessageBoxButtons.OK, MessageBoxIcon.Error);
caiosm1005
1,6761 gold badge19 silver badges31 bronze badges
answered Jan 21, 2010 at 13:23
Andrew HareAndrew Hare
343k71 gold badges636 silver badges634 bronze badges
2
Try details: use any option:
MessageBox.Show(
"your message",
"window title",
MessageBoxButtons.OK,
MessageBoxIcon.Warning // for Warning
//MessageBoxIcon.Error // for Error
//MessageBoxIcon.Information // for Information
//MessageBoxIcon.Question // for Question
);
TylerH
20.7k65 gold badges73 silver badges98 bronze badges
answered Jun 30, 2015 at 12:21
MessageBox.Show(
"your message",
"window title",
MessageBoxButtons.OK,
MessageBoxIcon.Asterisk //For Info Asterisk
MessageBoxIcon.Exclamation //For triangle Warning
)
Antonio
19.3k12 gold badges98 silver badges195 bronze badges
answered Jul 8, 2015 at 12:35
You should add namespace if you are not using it:
System.Windows.Forms.MessageBox.Show("Some text", "Some title",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Error);
Alternatively, you can add at the begining of your file:
using System.Windows.Forms
and then use (as stated in previous answers):
MessageBox.Show("Some text", "Some title",
MessageBoxButtons.OK, MessageBoxIcon.Error);
answered Jun 28, 2018 at 14:15
TidesTides
11111 bronze badges
Последнее обновление: 31.10.2015
Как правило, для вывода сообщений применяется элемент MessageBox. Однако кроме сообственно вывода строки сообщения данный элемент может устанавливать
ряд настроек, которые определяют его поведение.
Для вывода сообщения в классе MessageBox предусмотрен метод Show, который имеет различные версии и может принимать ряд параметров.
Рассмотрим одну из наиболее используемых версий:
public static DialogResult Show( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options )
Здесь применяются следующие параметры:
text
: текст сообщения
caption
: текст заголовка окна сообщения
buttons
: кнопки, используемые в окне сообщения.
Принимает одно из значений перечисления MessageBoxButtons:
-
AbortRetryIgnore
: три кнопки Abort (Отмена), Retry (Повтор), Ignore (Пропустить) -
OK
: одна кнопка OK -
OKCancel
: две кнопки OK и Cancel (Отмена) -
RetryCancel
: две кнопки Retry (Повтор) и Cancel (Отмена) -
YesNo
: две кнопки Yes и No -
YesNoCancel
: три кнопки Yes, No и Cancel (Отмена)
Таким образом, в зависимости от выбора окно сообщения может иметь от одной до трех кнопок.
icon
: значок окна сообщения. Может принимать одно из следующих значений перечисления MessageBoxIcon:
-
Asterisk, Information
: значок, состоящий из буквы i в нижнем регистре, помещенной в кружок -
Error, Hand, Stop
: значок, состоящий из белого знака «X» на круге красного цвета. -
Exclamation, Warning
: значок, состоящий из восклицательного знака в желтом треугольнике -
Question
: значок, состоящий из вопросительного знака на периметре круга -
None
: значок у сообщения отсутствует
defaultButton
: кнопка, на которую по умолчанию устанавливается фокус. Принимает одно из значений перечисления MessageBoxDefaultButton:
-
Button1
: первая кнопка из тех, которые задаются перечислением MessageBoxButtons -
Button2
: вторая кнопка -
Button3
: третья кнопка
options
: параметры окна сообщения. Принимает одно из значений перечисления MessageBoxOptions:
-
DefaultDesktopOnly
: окно сообщения отображается на активном рабочем столе. -
RightAlign
: текст окна сообщения выравнивается по правому краю -
RtlReading
: все элементы окна располагаются в обратном порядке справа налево -
ServiceNotification
: окно сообщения отображается на активном рабочем столе, даже если в системе не зарегистрирован ни один пользователь
Нередко используется один параметр — текст сообщения. Но посмотрим, как использовать остальные параметры. Пусть у нас есть кнопка, в обработчике
нажатия которой открывается следующее окно сообщения:
private void button1_Click(object sender, EventArgs e) { MessageBox.Show( "Выберите один из вариантов", "Сообщение", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); }
Однако нам не просто дается возможность установки кнопок в окне сообщения. Метод MessageBox.Show
возвращает объект
DialogResult, с помощью которого мы можем узнать, какую кнопку в окне сообщения нажал пользователь. DialogResult представляет
перечисление, в котором определены следующие значения:
-
Abort
: нажата кнопка Abort -
Retry
: нажата кнопка Retry -
Ignore
: нажата кнопка Ignore -
OK
: нажата кнопка OK -
Cancel
: нажата кнопка Cancel -
None
: отсутствие результата -
Yes
: нажата кнопка Yes и No -
No
: нажата кнопка No
Используем обработку выбора пользователя, изменив обработчик нажатия кнопки следующим образом:
private void button1_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show( "Окрасить кнопку в красный цвет?", "Сообщение", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); if (result == DialogResult.Yes) button1.BackColor=Color.Red; this.TopMost = true; }
И теперь, если в окне сообщения мы выберем выриант Yes, то кнопка окрасится в красный цвет.
Приветствую всех, сегодня я покажу, как вывести диалоговое окно с сообщением пользователю, я частенько использую в своих программах. Да и порой под забываю какое именно мне нужно, и подсматриваю здесь.
Для начало создадим обычное приложение WinForm и разместим на нем кнопку при нажатии, на которое будем выводить сообщения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Windows.Forms; namespace Сообщения { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } } |
Для того что бы вывести обычно сообщения достаточно вписать в метод нажатия кнопки строку:
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru»); } |
MessageBox.Show имеет перегруженные варианты метода, следующий пример нам покажет, как отобразить окно сообщения с заданным текстом и заголовком.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт»); } |
В следующем примере нам придется использовать MessageBoxButtons в качестве передаваемого аргумента. Однако он имеет несколько параметров:
- MessageBoxButtons.AbortRetryIgnore – Прервать | Повтор | Пропустить
- MessageBoxButtons.OK — ОК
- MessageBoxButtons.OKCancel — ОК | Отмена
- MessageBoxButtons.RetryCancel — Повтор | Отмена
- MessageBoxButtons.YesNo — Да | Нет
- MessageBoxButtons.YesNoCancel — Да | Нет | Отмена
Это нам позволит разместить в диалоговом окне сообщение кнопку или кнопки, в зависимости от параметров.
Рассмотрим все примеры с использованием кнопок:
Вариант AbortRetryIgnore
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.AbortRetryIgnore); } |
Вариант OK
В этом варианте у нас ничего не измениться так как он используется по умолчанию, выводит кнопку Ok.
Вариант OKCancel
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OKCancel); } |
Вариант RetryCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью повторения какого-либо действия, имея в функционале диалогового окна две кнопки Повтор, Отмена.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.RetryCancel); } |
Вариант YesNo Диалоговое окно подходит для вывода сообщения пользователю с возможностью выбора, подтвердить или отказаться имя в функционале диалогового окна две кнопки Да, Нет.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.YesNo); } |
Вариант YesNoCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью выбора, подтвердить или отказаться имя в функционале диалогового окна три кнопки Да, Нет, Отмена.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.YesNoCancel); } |
Метод Show может принимать в качестве параметра изображения MessageBoxIcon которые позволяют устанавливать тип сообщения, и могут принимать следующие значения:
MessageBoxIcon.Error Диалоговое окно подходит для вывода сообщения пользователю об ошибке.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Error); } |
MessageBoxIcon.Information Диалоговое окно подходит для вывода сообщения пользователю о какой то информации.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Information); } |
MessageBoxIcon.None
Данные вариант стоит по умолчанию и не выводит никого изображения.
MessageBoxIcon.Question Диалоговое окно подходит для вывода сообщения пользователю о помощи.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Question); } |
MessageBoxIcon.Warning Диалоговое окно подходит для вывода сообщения пользователю об ошибке или опасности.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Warning); } |
MessageBoxIcon.Exclamation
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } |
MessageBoxIcon.Stop
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Stop); } |
MessageBoxIcon.Asterisk
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } |
MessageBoxIcon.Hand
private void button1_Click(object sender, EventArgs e) { MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Hand); } |
Для того что бы сохранить полученный результат после нажатия кнопки, нам достаточно создать переменную класса DialogResult
DialogResult может принимать следующие значения:
- DialogResult.Abort — Прервать
- DialogResult.Cancel — Отмена
- DialogResult.Ignore — Пропустить
- DialogResult.No — Нет
- DialogResult.Yes — Да
- DialogResult.OK — ОК
- DialogResult.Retry — Повтор
DialogResult resualt= MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.YesNo); |
А что бы посмотреть, что хранить переменная resualt мы можем вывести ее в сообщении:
MessageBox.Show(resualt.ToString()); |
В моем примере я нажал на кнопку Да и вывелось сообщения
В этих примерах мы рассмотрели возможность вывода сообщений пользователю, на основе диалоговых окно в WinForm.
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.
- 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 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.
- 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 {
- }
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.
- 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();
- }
- elseif(result == DialogResult.Retry) {
- }
- else {
- }
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.
- 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();
- }
- elseif(result == DialogResult.Retry) {
- }
- else {
- }
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.
- 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 how to create and use a MessageBox in a Windows Forms application.
MessageBox in C#
In this c#.net post we will learn how to display MessageBox in windows form with an example.
C# MessageBox in windows application used to display a message on form with given text message and action buttons. We can also add some additional option such as a title text, conditional button, or help button in MessageBox.
Simple MessageBox
The simple MessageBox displays text with OK button. When we click ok button the MessageBox will disappears from form.
Here, we can see the code for create simple MessageBox with an example.
We have a button control on windows form, we will get MessageBox with “Hello MeeraAcademy” message while click button.
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello MeeraAcademy");
}
Here, is the output of above MessageBox example.
MessageBox with Title
We can display Message Box with text message and title.
Here is the code of display MessageBox with title.
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello MeeraAcademy", "MeeraAcademy");
}
The output of above code.
MessageBox with Buttons
In above example by default there is only one OK button display. We can display different combination of buttons in MessageBox such as OKCancel, YesNo, YesNoCancel. The MessageBoxButtons enumeration represents the buttons to be displayed on MessageBox.
MessageBoxButtons
- AbortRetryIgnore
- OK
- OKCancel
- RetryCancel
- YesNo
- YesNoCancel
Here is the example of display MessageBox with YesNo button with title.
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Are you sure to quit?", "MeeraAcademy",MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
MessageBox.Show("Bye bye");
}
else
{
MessageBox.Show("Welcome back");
}
}
Above example first MessageBox will display when click button, it display a message “Are you sure to quit?” with two buttons Yes and No. If we click on Yes button it will create new MessageBox with text “Bye Bye” and if we click on No button it will display MessageBox with “Welcome back” message.
If we use OKCancel Button with above example it should display like:
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Are you sure to quit?", "MeeraAcademy",MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
{
MessageBox.Show("Bye bye");
}
else
{
MessageBox.Show("Welcome back");
}
}
Icons with MessageBox
We can display icon on MessageBox dialog. The MessageBoxIcon enumeration represents an icon to be displayed on MessageBox.
MessageBoxIcon
- Asterisk
- Error
- Exclamation
- Hand
- Information
- None
- Question
- Stop
- Warning
Here we see an example of Question. write MessageBoxIcon.Question after MessageBoxButtons.OKCancel and then run program.
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Are you sure to quit?", "MeeraAcademy",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
MessageBox.Show("Bye bye");
}
else
{
MessageBox.Show("Welcome back");
}
}
We hope that this windows application tutorial helped you to understand about how to create different types of MessageBox.
Next, c# windows application tutorial we will learn about Show() and ShowDialog() methods.