27
2. Выделите поочередно текстовые поля
TextBox1 и
TextBox2, в
окне
Properties создайте обработчики события
KeyPress, возникающего
при нажатии любой клавиши в поле.
3. В
тело обработчика события KeyPress для текстового поля
TextBox1
укажите
следующий
код
(для
элемента
TextBox1
недопустимыми значениями будут цифры):
if (char.IsDigit(e.KeyChar) )
{
e.Handled = true;
MessageBox.Show("Поле Name не может содержать цифры");
}
4. Для элемента
TextBox2, наоборот,
недопустимыми значениями
будут буквы, в обработчике события
KeyPress для текстового поля
TextBox2 укажите код:
if (!char.IsDigit(e.KeyChar) )
{
e.Handled = true;
MessageBox.Show("Поле PIN не может содержать буквы");
}
5. Откомпилируйте и запустите приложение. Попробуйте ввести в
поле
Name цифры, в поле
PIN – буквы.
6. Для
защиты текстового поля, появляющегося при установке
галочки в чекбоксе "Расширенные возможности", необходимо вручную
определить событие
KeyPress. В обработчике
события CheckedChanged
для элемента
CheckBox1 укажите код:
txt.KeyPress+= new
System.Windows.Forms.KeyPressEventHandler(this.textBox2_KeyPress);
7. Запустите и протестируйте приложение.
Применение
события
Validating
Событие
KeyPress блокирует часть клавиатуры. Другим способом
проверки является событие
Validating, позволяющее работать с
клавиатурой, но блокирующее другие действия пользователя.
8. Закомментируйте обработчик элемента
TextBox2.
9. В режиме дизайна формы в
окне Properties элемента TextBox2
создайте обработчик события
Validating и запишите следующий код:
if(textBox2.Text =="")
{
e.Cancel=false;
}
else
{
try
{
double.Parse(textBox2.Text);
e.Cancel = false;
}
catch
{
e.Cancel = true;
MessageBox.Show("Поле PIN не может содержать буквы");
28
}
}
10. Запустите приложение. При переключении фокуса ввода или
нажатии на кнопку "регистрация" происходит событие
Validating.
Применение
элемента
управления
ErrorProvider
Элемент управления
ErrorProvider удобно применять,
когда нужно
выводить небольшую иконку в случае ошибки ввода.
11. В режиме дизайна из окна
ToolBox перенесите на форму элемент
управления
ErrorProvider.
12. В коде формы в обработчике textBox1_KeyPress добавьте
следующую строку:
errorProvider1.SetError(textBox1, "Must be letter");
13. Запустите приложение. При ошибке
ввода появляется мигающая
иконка уведомления, при наведении на нее всплывает поясняющее
сообщение об ошибке.
Лабораторная
работа
3. Создание
элементов
управления
Цель
работы
Изучение способов разработки элементов управления и получение
навыков по их настойке и применению в дальнейшей работе.
Упражнение
1. Создание
составного
элемента
управления
В дополнение к уже существующим
элементам управления можно
разрабатывать собственные, чтобы обеспечить для своих приложений
специализированную функциональность.
Существует три вида разрабатываемых пользователем элементов
управления:
•
составные
(composite), которые
создаются при объединении
других элементов управления Windows Forms;
•
специализированные
(custom), создаваемые с нуля и
предоставляющие собственный код для прорисовки;
•
расширенные
Достарыңызбен бөлісу: