Тип RadioButton (переключатель) можно воспринимать, как несколько видоизмененный флажок при этом сходство между этими типами подчеркивается почти полным совпадением наборов членов. Между типами RadioButton и CheckBox существуют лишь два важных различия: в RadioButton предусмотрено событие CheckedChanged (возникающее при изменении значения Checked), а кроме того, RadioButton не поддерживает свойство ThreeState и не может принимать состояние Indeterminate (не определено).
Переключатели всегда используются в группах, которые рассматриваются как некое единое целое. Внутри группы переключателей одновременно может быть выбран только один переключатель. Для группировки переключателей в группы используется тип GroupBox.
И флажок (CheckBox), и переключатель (RadioButton) поддерживают свойство Checked, при помощи которого очень удобно получать информацию о состоянии соответственно флажка и переключателя. Однако если есть необходимость задействовать дополнительное третье состояние флажка (не определено - Indeterminate), то придется вместо Checked использовать свойство CheckState и значения из одноименного перечисления CheckState.
|
|
Элемент управления CheckedListBox
Типы Button, CheckBox и RadioButton являются производными от ButtonBase, и их можно определить как некие разновидности кнопок. К членам семейства списков относятся CheckedListBox (список с флажками), ListBox (список) и ComboBox (комбинированный список).
Элемент управления CheckedListBox (список с флажками) позволяет помещать обычные флажки внутри поля с полосами прокрутки.
Кроме того, в элементе управления CheckedListBox предусмотрена возможность использования нескольких столбцов. Для этого достаточно установить значение true для свойства MultiColumn.
CheckedListBox наследует большинство своих возможностей от типа ListBox. To же самое справедливо и в отношении класса ComboBox. Наиболее важные свойства System.Windows.Forms.ListBox представлены в таблице 7.8.
Таблица 7.8. Свойства класса ListBox | |
Свойство | Назначение |
ScrollAlwaysVisible | Определяет, будет ли полоса прокрутки выводиться всегда |
Selectedlndex | Индекс выделенного в настоящий момент элемента в списке (если такой имеется). Если ни один элемент не выделен, то возвращается значение -1 |
SelectedIndices | Набор индексов выделенных в настоящий момент элементов в списке. Если не выделен ни один элемент, то возвращается пустой набор |
SelectedItem | Значение выделенного в настоящий момент элемента. Если ни один из элементов не выделен, то возвращается null |
SelectedItems | Возвращает коллекцию значений выделенных элементов (для списков, в которых допускается выбор нескольких значений) |
SelectionMode | Определяет число элементов, которые возможно выбрать в списке одновременно. Для этого свойства используются значения из перечисления SelectionMode |
Sorted | Определяет, будут ли элементы в списке упорядочены (по алфавиту) или нет |
TopIndex | Возвращает индекс первого видимого элемента в списке |
Помимо свойств в классе ListBox определены также многочисленные методы. Подавляющее большинство этих методов дублирует возможности, предоставляемые в наше распоряжение свойствами, поэтому мы их рассматривать не будем.
|
|
Комбинированные списки
Как и списки (объекты ListBox), комбинированные списки (объекты ComboBox) позволяют пользователю производить выбор из списка заранее определенных элементов. Однако у комбинированных списков есть одно существенное отличие от обычных: пользователь может не только выбрать готовое значение из списка, но и ввести свое собственное. Класс ComboBox наследует большинство своих возможностей от класса ListBox (который, в свою очередь, является производным от Control), однако в нем предусмотрены и собственные важные свойства, представленные в таблице 7.9.
Таблица 7.9. Свойства ComboBox | |
Свойство | Назначение |
DroppedDown | "Раскрывающийся вниз": определяет, будет ли список ниспадающим |
MaxDropDownltems | Определяет максимальное количество элементов, которое будет показано в нижней части ниспадающего списка. Допустимые значения - от 1 до 100 |
MaxLength | Определяет максимальную длину текста, который пользователь может ввести в ComboBox |
Selectedlndex | Определяет индекс выделенного элемента ComboBox. Если ни один элемент не выделен, возвращается значение -1 |
Selectedltem | Возвращает ссылку на объект выделенного элемента ComboBox |
SelectedText | Возвращает выделенный текст в поле редактирования ComboBox |
SelectionLength | Определяет длину (в символах) выделенного текста в поле редактирования ComboBox |
Style | Позволяет получить или установить стиль ComboBox. Для этого свойства используются значения из перечисления ComboBoxStyle |
Text | Позволяет получить доступ к тексту в поле редактирования. При работе с ComboBox это унаследованное свойство используется чаще всех остальных |
Стиль для ComboBox можно настроить при помощи свойства Style, для которого используются значения из перечисления ComboBoxStyle (таблица 7.10).
Таблица 7.10. Значения перечисления ComboBoxStyle | |
Значение | Описание |
DropDown | Пользователь может вводить значения в поле редактирования. Для отображения списка пользователь должен нажать на кнопку со стрелкой, направленной вниз (Arrow Button) |
DropDownList | Пользователь не может вводить значения в поле редактирования. Для отображения списка пользователь должен нажать на кнопку со стрелкой, направленной вниз (Arrow Button) |
Simple | Пользователь может вводить значения в поле редактирования. Список значений виден всегда |