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

Задача 1

Переделаем приложение «Автозаправка». Приложение должно быть спроектировано так, чтобы в поле ввода Сумма можно было ввести только действительное число. Любые другие символы в поле не вводятся.

Пока не будет введено число в поле Сумма и пока не будет выбран элемент списка (марка бензина) кнопка ОК будет не активной (не будет реагировать на действия пользователя).

После ввода суммы и выбора марки бензина кнопка становится активной.

В этом варианте решения, кроме обработчика события Click (код которого не меняется), мы должны:

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

При возникновении события Load мы устанавливаем для кнопки button1 значение свойства Enabled =False, то есть наша кнопка не активна.

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

Ранее мы уже встречали обработчик события KeyPress. А именно: если была введена не цифра, то мы сами обрабатываем событие KeyPress. Поэтому e.Handled=true.

Проверяем только цифру, так как вводимое число может быть только целым.

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

Событие TextChanged возникает при изменении содержимого поля textBox1. Суть обработки: сделать или не сделать кнопку button1 активной.

Свойство TextLength определяет длину строки в поле textBox1. textBox1.TextLength > 0 означает, что в поле textBox1 есть информация.

Свойство SelectedIndex определяет индекс выбранного элемента списка comboBox1. comboBox1.SelectedIndex >=0 означает, что в списке comboBox1 выбран какой-то элемент.

Все вместе: если в поле textBox1 есть информация и в списке comboBox1 выбран какой-то элемент, кнопку button1 сделать активной.

В противном случае (если в поле textBox1 нет информации или в списке comboBox1 ничего не выбрано) и кнопка button1 активна (button1.Enabled=True), то сделать кнопку не активной.

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

Событие SelectedIndexChanged происходит при изменении свойства SelectedIndex, то есть когда выбирается новый элемент списка comboBox1. Если при этом поле textBox1 заполнено, то кнопка button1 делается активной.

Задача 2

Переделаем приложение «Кафе». Приложение должно быть спроектировано так, чтобы пока не будет выбрано хотя бы одно блюдо кнопка ОК будет не активной (не будет реагировать на действия пользователя).

После выбора хотя бы одного блюда кнопка становится активной.

В этом варианте решения, кроме обработчика события Click (код которого не меняется), мы должны:

Код обработчика события Load такой же, как и в предыдущей задаче.

Код обработчика события CheckedChanged для каждого элемента checkBox

Обработчик называется checkBox_CheckedChanged (название может быть другим). Он выполняет следующие действия: если хотя бы один флажок выбран, то кнопка button1 делается активной, в противном случае кнопка делается не активной.

Привязка обработчика checkBox_CheckedChanged к элементу checkBox1

Аналогично для элементов checkBox2 и checkBox3

Задача 3

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

Пока не будут заполнены поля Ширина и Высота и пока не будет выбрана радиокнопка (материал для жалюзи) кнопка ОК будет не активной.

После заполнения полей и выбора материала кнопка ОК становится активной.

В этом варианте решения, кроме обработчика события Click (код которого не меняется), мы должны:

Код обработчика события Load такой же, как и в предыдущей задаче.

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

Ранее мы уже встречали обработчик события KeyPress. А именно: если была введена не цифра, то мы сами обрабатываем событие KeyPress. Поэтому e.Handled=true.

Проверяем только цифру, так как вводимое число может быть только целым.

Привязка обработчика события KeyPress к полю textBox1

Для привязки созданного обработчика к элементу textBox1 нужно выполнить следующие действия:

Аналогично данный обработчик можно привязать к полю textBox2.

Код общего обработчика событий TextChanged для текстовых полей и CheckedChanged для радиокнопок

Привязка созданного обработчика к полю textBox1 для события TextChanged

Обработчик называется textBox_TextChanged. Для привязки созданного обработчика к элементу textBox1 нужно выполнить следующие действия:

Аналогично данный обработчик можно привязать к полю textBox2.

Привязка созданного обработчика к радиокнопке radioButton1 для события CheckedChanged

Обработчик называется textBox_TextChanged. Для привязки созданного обработчика к элементу radioButton1 для события CheckedChanged нужно выполнить следующие действия:

Аналогично данный обработчик можно привязать к радиокнопке radioButton2.

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