Программирование >>  Программирование с использованием ajax 

1 ... 142 143 144 [ 145 ] 146 147 148 ... 396


Остается определить последний компонент - метод ValidateOK, который активизирует или отключает кнопку ОК:

private void ValidateOKO {

Активизирует кнопку ОК, если значения всех свойств Tags - true.

this.buttonOK.Enabled = ((bool)(this.textBoxAddress.Tag) &&

(bool)(this.textBoxAge.Tag) && (bool)(this.textBoxName.Tag) && (bool)(this.textBoxOccupation.Tag));

Метод просто устанавливает значение свойства Enabled кнопки ОК равным true, если значения всех свойств Tag - true. Значение свойств Tag необходимо привести к булевскому, поскольку оно хранится в качестве типа object.

Если теперь протестировать программу, результат должен выглядеть подобно приведенному на рис. 15.11 (естественно, без красного фона). Обратите внимание, что можно щелкнуть на кнопке Help (Справка), находясь в текстовом поле с недопустимыми данными, и при этом цвет фона не будет изменяться на красный.

tf Foinil

Name Address

Occupauon

Ouptil

Jacob Hammef Pedwsen


Puc. 15.11. Результат т£стирования программы

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

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

Элементы управления RadioButton и CheckBox

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



Традиционно элементы управления RadioButton (переключатели) отображаются в виде надписи с маленькой окружностью слева от нее, которая может быть выбрана или не выбрана. Переключатели следует применять, когда пользователю нужно предоставить возможность выбора между взаимоисключающими опциями - например, пола пользователя.

Чтобы сгруппировать переключатели для образования единого логического блока, следует использовать элемент управления GroupBox или какой-то иной контейнер. При первоначальном помещении элемента GroupBox на форму и последующем размещении необходимых элементов управления RadioButton внутри его границ, состояние элементов RadioButton будет автоматически изменено для отражения того, что только одна опция внутри групповой рамки может быть выбрана. Если элементы управления RadioButton размещены не внутри элемента управления GroupBox, на форме в любой момент времени может быть выбран только один из них.

Элемент управления CheckBox (флажок) отображается в виде надписи с расположенным слева от него маленьким квадратом. Флажок следует использовать, когда пользователю нужно предоставить возможность выбора одной или более опций - например, для заполнения вопросника об использовавшихся ранее операционных системах (Windows ХР, Windows Vista, Linux и т.п.).

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

Свойства элемента управления RadioButton

Поскольку элемент управления RadioButton является производным от ButtonBase и поскольку общие свойства уже были рассмотрены в примере использования элемента управления Button, остается рассмотреть всего несколько свойств (они перечислены в табл. 15.7). Полный перечень свойств приведен в документации по .NET Framework SDK.

Таблица 15.7. Часто используемые свойства класса RadioButton Свойство Описание

Appearance Переключатель может отображаться в виде надписи с круглой меткой выбора слева, в середине или справа от нее. или же в виде стандартной кнопки. При отображении в виде стандартной кнопки выбранный элемент управления выглядит нажатым, а не выбранный - отжатым

AutoCheck Когда значение этого свойства равно true, при щелчке на переключателе в окружности выбора отображается черная точка. Когда это значение равно false, установка флажка переключателя должна выполняться в коде вручную из обработчика события Click

CheckAiign Это СВОЙСТВО используется для изменения способа выравнивания части переключателя, определяющей флажок. Его значение по умолчанию -

ContentAlignment.MiddleLeft

Checked Указывает состояние элемента управления. Значение этого свойства равно

true, если черная точка отображается в элементе управления. В противном случае оно равно false

События элемента управления RadioButton

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



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

Таблица 15.8. Часто используемые события класса RadioButton

Событие

Описание

CheckedChanged Click

Отправляется при изменении состояния выбора элемента управления

RadioButton

Отправляется при каждом щелчке на элементе управления RadioButton. Это событие не эквивалентно событию CheckedChange, поскольку при двукратном и более щелчке на элементе управления RadioButton свойство Checked изменяется только один раз - и только, если оно еще не было выбрано. Более того, если значение свойства AutoCheck кнопки, на которой выполняется щелчок, равно false кнопка вообще не будет выбрана, и только событие Click будет отправляться

Свойства элемента управления CheckBox

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

Таблица 15.9. Часто используемые свойства класса CheckBox

Свойство

Описание

CheckState

ThreeState

В отличие от переключателя, флажок может пребывать в трех состояниях: Checked, Indeterminate и Unchecked. Когда состояние флажка - Indeterminate, индикатор СОСТОЯНИЯ флажка, расположенный рядом с надписью, обычно затемнен, указывая, что либо текущее значение флажка недопустимо, либо оно не может быть определено по какой-либо причине (например, флажок указывает состояние только для чтения двух выбранных файлов, из которых один доступен только для чтения, а второй - нет), либо не имеет смысла в данной ситуации

Когда значение этого свойства - false, пользователь не сможет изменять состояние CheckState на indeterminate. Однако значение свойства CheckState все же можно изменять на indeterminate из кода

События элемента управления CheckBox

Обычно в этом элементе управления придется использовать одно или два события. Хотя событие CheckChanged применяется и в RadioButton, и в CheckBox, его действие различно в этих двух элементах управления. События элемента управления CheckBox описаны в табл. 15.10.

Это завершает ознакомление с событиями и свойствами элементов управления RadioButton и CheckBox. Но прежде чем приступить к рассмотрению примера их использования, рассмотрим упомянутый ранее элемент управления GroupBox.



1 ... 142 143 144 [ 145 ] 146 147 148 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика