Как создать MessageBox на С#?

Я только что установил С# в первый раз, и на первый взгляд кажется, что он очень похож на VB6. Я решил начать, пытаясь сделать "Привет, мир!". Издание пользовательского интерфейса.

Я начал в конструкторе форм и нажал кнопку "Click Me!". дважды щелкнул его и набрал

MessageBox("Hello, World!");

Я получил следующую ошибку:

MessageBox является "типом", но используется как "переменная"

Справедливо, кажется, что в С# MessageBox есть объект. Я попробовал следующее

MessageBox a = new MessageBox("Hello, World!");

Я получил следующую ошибку: MessageBox не содержит конструктор, который принимает аргументы "1"

Теперь я в тупике. Пожалуйста, помогите.

Ответ 1

MessageBox.Show также возвращает DialogResult, который, если вы поместите туда несколько кнопок, означает, что он может вернуть то, на что нажал пользователь. Большую часть времени я пишу что-то вроде

if (MessageBox.Show("Do you want to continue?", "Question", MessageBoxButtons.YesNo) == MessageBoxResult.Yes) {
     //some interesting behaviour here
}

что я думаю, это немного громоздко, но это делает работу.

См. Https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.dialogresult для дополнительных опций перечисления, которые вы можете использовать здесь.

Ответ 2

Краткое содержание кода:

using System.Windows.Forms;

...

MessageBox.Show( "hello world" );

Также (согласно этому другому сообщению стека): В Visual Studio разверните проект в Дереве решений, щелкните правой кнопкой мыши Ссылки, Добавить ссылку, Выберите System.Windows.Forms на вкладке Framework. Это заставит MessageBox работать вместе с использованием ссылки System.Windows.Forms сверху.

Ответ 3

Это статическая функция класса MessageBox, простой способ сделать это с помощью

MessageBox.Show("my message");

в классе System.Windows.Forms. Вы можете найти больше на странице msdn для этого здесь. Помимо прочего, вы можете управлять текстовым полем, заголовком, кнопкой по умолчанию и значками. Поскольку вы не указали, если вы пытаетесь сделать это на веб-странице, вы должны посмотреть на запуск предупреждения javascript ( "мое сообщение" ); или подтвердить ( "мой вопрос" ); функции.

Ответ 4

Попробуйте ввести код:

MessageBox.Show("Test Information Message", "Caption", MessageBoxButtons.OK, MessageBoxIcon.Information);

Ответ 5

Также вы можете использовать MessageBox с опциями OKCancel, но для этого требуется много кодов. Блок if для OK, блок else для Cancel. Вот код:

if (MessageBox.Show("Are you sure you want to do this?", "Question", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
    MessageBox.Show("You pressed OK!");
}
else
{
    MessageBox.Show("You pressed Cancel!");
}

Вы также можете использовать MessageBox с опциями YesNo:

if (MessageBox.Show("Are you sure want to doing this?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
    MessageBox.Show("You are pressed Yes!");
}
else
{
    MessageBox.Show("You are pressed No!");
}

Ответ 6

Это некоторые из вещей, которые вы можете поместить в окно сообщения. Наслаждайтесь
MessageBox.Show("Enter the text for the message box",
"Enter the name of the message box",
(Enter the button names e.g. MessageBoxButtons.YesNo),
(Enter the icon e.g. MessageBoxIcon.Question),
(Enter the default button e.g. MessageBoxDefaultButton.Button1)

Более подробную информацию можно найти здесь

Ответ 7

Я получил ту же ошибку "System.Windows.Forms.MessageBox" - это "тип", но используется как "переменная" , даже если используется:

MessageBox.Show("Hello, World!");

Я предполагаю, что мои первоначальные попытки с недопустимым синтаксисом вызвали какую-то ошибку, и я закончил ее исправлением, добавив пробел между "MessageBox.Show" и скобками():

MessageBox.Show ("Hello, World!");

Теперь использование исходного синтаксиса без дополнительного пространства снова работает:

MessageBox.Show("Hello, World!");

Ответ 8

В классе System.Windows.Forms вы можете найти больше на странице MSDN для этого здесь. Помимо прочего, вы можете управлять текстовым полем, заголовком, кнопкой по умолчанию и значками. Поскольку вы не указали, если вы пытаетесь сделать это на веб-странице, вы должны посмотреть на запуск функций javascript alert("my message"); или confirm("my question");.