Обработка деления на ноль
Деление на ноль приводит к фатальной ошибке. В методе Button_equal_Click добавим проверку второго числа перед делением. Если оно равно нулю, вместо деления выводится всплывающее окно с сообщением об ошибке, созданное с помощью MessageBox.Show(). Параметры метода:
- this: всплывающее окно отображается внутри текущего окна.
- Текст сообщения (например, «Действие запрещено»).
- Текст заголовка (например, «Error»).
- MessageBoxButtons.OK: кнопка «OK».
- MessageBoxIcon.Error: иконка ошибки.
При делении на ноль переменной результата (rs) присваивается 0.
Изменение цвета текста при ошибке
Для наглядности, цвет текста в лейбле при ошибке меняется на темно-красный (Color.DarkRed), а при вводе новых чисел – на белый (Color.White). Используется свойство ForeColor лейбла.
Обработка отсутствия математической операции
Ввод числа и нажатие «равно» без выбора операции приводит к некорректному результату. Добавим проверку на пустую строку в поле userAction. Так как прямое сравнение с пустой строкой невозможно, userAction сравнивается с пробелом (начальное значение userAction – пробел). Если userAction равен пробелу, выполнение прерывается с помощью return.
Очистка калькулятора после вычисления
После вычисления ввод нового числа добавляется к предыдущему результату. Добавим булево поле is_equal, устанавливаемое в true после вычисления. В Button_number_Click добавим проверку: если is_equal равно true или текстовое поле содержит «0», содержимое лейбла очищается перед вводом нового числа. is_equal устанавливается в false после обработки ввода числа.
Калькулятор теперь корректно обрабатывает деление на ноль, отсутствие операции и очищает предыдущий результат перед вводом нового числа. Обработка остальных кнопок будет рассмотрена в следующем уроке.