Назад Вперед Содержание

Проверка правильности заполнения текстового поля

Задача 1

В задачу о вычислении площади квадрата внесем изменения.

Сделаем так, чтобы в поле ввода можно было ввести только действительное число. То есть, можно ввести любые цифры и только одну запятую. Если нажимать клавиши с буквами или другими символами, то в поле этот символ не выводится.

Если поле не заполнено, то при нажатии на кнопку «Вычислить», в отдельное окно должно выводиться сообщение «Введите сторону».

Класс Form1 - oбработчики событий

Обработчик события Click

Изменим код обработчика Click. Будем использовать инструкцию try-catch.

В блок try перенесем все операторы, которые считывают информацию из текстового поля textBox1, вычисляют площадь квадрата и выводят ее в элемент label5 (весь старый код обработчика).

Операторы блока catch будут выполнятся, если поле не заполнено. Поэтому там будет вывод сообщения «Введите сторону». Это сообщение выведем в отдельное окошко методом MessageBox.

Обработчик события KeyPress

Обработчик KeyPress добавляется после обработчика Click.

Код обработчика события KeyPress:

В коде:

Символ с- знак ASCII, нажатой клавиши.

Строка tx – текст, который уже введен в текстовое поле.

Число n – номер позиции, в которой в уже выведенном тексте находится запятая. Если запятых нет, то число равно -1.

Следущая строка кода означает: если нажата не цифра или если нажата запятая, а запятая уже есть, то системная обработка события KeyPress отменяется с помощью свойства Handled (символ в поле не выводится). То есть e.Handled = true;

Проверим работу программы. Введем сторону=3,6.

Уще раз проверим работу программы. Оставим поле ввода пустым и нажмем кнопку.

Появится сообщение:

При нажатии на любые клавиши кроме цифр и одной запятой, в поле «Введите сторону» ничего не будет выводится.

Задача 2

А,Б,С – вещественные числа, к1,к2,к3 - целые числа. Вычислить значение по формуле - А*Б*С и с учетом коэффициентам к1,к2,к3 по формуле - А*к1+Б*к2+С*к3

Выполнить контроль ввода данных и контроль заполнения полей.

При построении формы дадим полям имена: A, B, C, k1, k2, k3 и AB (для результата). Имена кнопок и меток оставим стандартными.

Для того чтобы несколько объектов при определенном событии обрабатывались одним обработчиком, нужно для каждого объекта для одного и того же события (у нас KeyPress) указать имя одного и того же обработчика.

Когда для одного поля обработчик события уже установлен, для остальных полей его можно выбрать из списка.

Назад Вперед Содержание