Как правильно обработать нажатие кнопки «Отмена» в диалоговом окне?

Есть небольшой код, ниже кидаю его листинг. Необходимо сделать так, чтобы при нажатии кнопки "отмена", или же "ок", программа выводила сообщение о неверном значении через MessageBox.Show.

int number;
        string name;

        MessageBoxIcon icon;

        number = Int32.Parse(Interaction.InputBox("Введите число: ", "Число"));

     
     
        switch (number)
        {
            case 1:  //Если ввел 1
                name = "Единица";  //Название числа
                icon = MessageBoxIcon.Information;
                break;       // Завершение блока

            case 2:  //Если ввел 2
                name = "Двойка";  //Название числа
                icon = MessageBoxIcon.Information;
                break;       // Завершение блока

            case 3:  //Если ввел 3
                name = "Тройка";  //Название числа
                icon = MessageBoxIcon.Information;
                break;       // Завершение блока

            case 4:  //Если ввел 4
                name = "Четверка";  //Название числа
                icon = MessageBoxIcon.Information;
                break;       // Завершение блока

            default:
                name = "";
                icon = MessageBoxIcon.Information;
                break;
        }
            MessageBox.Show(name, "Число", MessageBoxButtons.OK, icon);
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
alexandrfandeev
@alexandrfandeev Автор вопроса
Сам спросил, сам ответил. Если кому-то интересно решение, привожу его немного ниже:

MessageBoxIcon icon = MessageBoxIcon.Error;

        question = Interaction.InputBox("Введите число: ", "Число");

        if (question == "")
        {
            MessageBox.Show("Вы не ввели значение!", "Ошибка", MessageBoxButtons.OK, icon);
        }

        
            number = Int32.Parse(question);


Преобразование в другой тип данных происходит только тогда, когда программа проверяет операнд на наличие элементов в нем. В противном случае пользователь получает ошибку.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Senior .NET developer
Я обычно ловлю статус всяких окошек через MessageBoxResult а весь ввод обрабатываю на клике по сабмиту. А где то вверху стоит общий объект данных в котором все и меняется. А форма это просто кнопочки и обработчики.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы