Larabrill 0 / 0 / 0 Регистрация: 13.12.2010 Сообщений: 7 |
||||
1 |
||||
23.12.2010, 20:10. Показов 60146. Ответов 18 Метки нет (Все метки)
Здравствуйте! В программе есть comboBox1, в котором при выборе значения должно появляться диалоговое окно, в котором можно было бы вводить цифру. Вот только синтаксис написания этого MessageBox я не знаю
Подскажите пожалуйста. Желательно пример
__________________
0 |
Новичок) 1 / 1 / 0 Регистрация: 09.12.2010 Сообщений: 36 |
||||
23.12.2010, 21:41 |
2 |
|||
Так?
0 |
Заблокирован |
||||
25.12.2010, 10:52 |
3 |
|||
в C# InputBox нету, можно примерно так написАть:
2 |
0 / 0 / 0 Регистрация: 13.12.2010 Сообщений: 7 |
|
25.12.2010, 19:27 [ТС] |
4 |
Спасибо, уже сделала вторую форму))
0 |
eji 132 / 132 / 29 Регистрация: 17.09.2010 Сообщений: 288 |
||||||
31.12.2010, 23:43 |
5 |
|||||
Вот, может пригодится. Подключаете библиотеку к проекту и достаточно написать две строчки:
Вложения
10 |
385 / 318 / 18 Регистрация: 26.05.2009 Сообщений: 2,696 |
|
01.01.2011, 16:24 |
6 |
Человек у вас спрашивал как сделать MessageBox с полем ввода, а вы что предлагаете?
0 |
132 / 132 / 29 Регистрация: 17.09.2010 Сообщений: 288 |
|
01.01.2011, 16:37 |
7 |
body90, честно говоря, не совсем Вас понял. Мой код просто показывает как получить введенную строку. Для себя обнаружил удобство, подключил библиотеку и все есть, не нужно создавать формы в каждом проекте, где это необходимо.
0 |
18 / 18 / 6 Регистрация: 28.02.2011 Сообщений: 514 |
|
01.02.2016, 17:06 |
8 |
Спасибо ))))
0 |
0 / 0 / 0 Регистрация: 28.07.2015 Сообщений: 3 |
|
01.02.2017, 08:32 |
9 |
Спасибо. Работает как надо.
0 |
0 / 0 / 0 Регистрация: 15.07.2016 Сообщений: 12 |
|
30.11.2017, 04:40 |
10 |
fufel, потому что самому нужно думать, ибо после определенного уровня сложности некому будет «прям готовое и прям в руки» делать.
0 |
1 / 1 / 0 Регистрация: 11.01.2017 Сообщений: 28 |
|
10.04.2019, 00:58 |
11 |
Вы герой! Спасибо за либу, очень удобно
0 |
1 / 1 / 0 Регистрация: 11.01.2017 Сообщений: 28 |
|
10.04.2019, 01:22 |
12 |
Немного причесал проект eji и добавил небольшую настраиваемость при инициализации
1 |
46 / 20 / 5 Регистрация: 29.12.2015 Сообщений: 1,771 |
|
04.03.2021, 12:41 |
13 |
У меня возник вопрос по этой теме.
0 |
🙋 🐗 3278 / 2869 / 660 Регистрация: 13.04.2015 Сообщений: 6,779 |
|
04.03.2021, 12:44 |
14 |
Неужели в .NET В VB.NET есть.
0 |
46 / 20 / 5 Регистрация: 29.12.2015 Сообщений: 1,771 |
|
04.03.2021, 12:49 |
15 |
Да. InputBox но учитывая его работу в Delphi это малость годится. Ведь обязательно должны быть кнопке не только ввода но и отмены. И отследить какая из кнопок нажаты.
0 |
🙋 🐗 3278 / 2869 / 660 Регистрация: 13.04.2015 Сообщений: 6,779 |
|
04.03.2021, 12:55 |
16 |
Ведь обязательно должны быть кнопке не только ввода но и отмены. Есть там всё из коробки. Только не знаю, как проще без плясок в C# использовать, иногда действительно не хватает. Миниатюры
1 |
🙋 🐗 3278 / 2869 / 660 Регистрация: 13.04.2015 Сообщений: 6,779 |
|
04.03.2021, 13:16 |
17 |
Всё оказалось проще простого. Надо было только добавить ссылку на Microsoft.VisualBasic Миниатюры
0 |
Администратор 15238 / 12277 / 4903 Регистрация: 17.03.2014 Сообщений: 24,879 Записей в блоге: 1 |
|
04.03.2021, 14:33 |
18 |
К слову вроде бы в Windows есть диалоговые окна с вводом значений. Неужели в .NET их нету? В Windows нет стандартного диалога для ввода значений. Уже упомянутый InputBox это самописный класс. Используйте его или напишите свой если не хочется иметь зависимость на сборку Microsoft.VisualBasic.
0 |
46 / 20 / 5 Регистрация: 29.12.2015 Сообщений: 1,771 |
|
04.03.2021, 20:40 |
19 |
Есть там всё из коробки. Только не знаю, как проще без плясок в C# использовать, иногда действительно не хватает. Кнопка отмена есть. Но проверка на нажатие кнопки ок или отмены нет. Видимо при отмене возращает пустую строку но в принципе не важно сделал свой через форму.
0 |
Приветствую всех, сегодня я покажу как вывести диалоговое окно с сообщением пользователю, я частенько использую в своих программах. Да и порой под забываю какое именно мне нужно, и подсматриваю здесь.
Для начало создадим обычное приложение 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.
Последнее обновление: 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, то кнопка окрасится в красный цвет.