Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Элемент CheckedListBox
Элемент CheckedListBox
Теперь, завершив исследование базовых элементов управления Button, давайте рассмотрим набор типов списка, в частности CheckedListBox, ListBox и ComboBox. Элемент управления CheckedListBox (окно отмечаемого списка) позволяет сгруппировать соответствующие элементы CheckBox в список, допускающий прокрутку. Предположим, что вы добавили в форму элемент управления CarConfig, дающий пользователю возможность указать на выбор ряд характеристик, которым должна удовлетворять система звуковоспроизведения автомобиля (рис. 21.9).
Рис. 21.9. Тип CheckedListBox
Чтобы добавить в CheckedListBox новые элементы, вызовите Add() для каждого элемента или используйте метод AddRange() с массивом объектов (строк, если быть точным), представляющих весь набор отмечаемых элементов управления. Следует знать о том, что в режиме проектирования любой тип списка можно заполнить с помощью свойств Items в окне свойств (просто щелкните на кнопке с многоточием и введите подходящие строковые значения). Вот часть программного кода InitializeComponent(), соответствующая конфигурации CheckedListBox.
private void InitializeComponent() {
…
// checkedBoxRadioOptions
//
this.checkedBoxRadioOptions.Items.AddRange(new object[] {
"Фронтальная АС", "8-канальный звук",
"CD-проигрыватель", "Кассетный проигрыватель",
"Тыловая AC", "Ультра-бас(сабвуфер)"
});
…
this.Controls.Add(this.checkedBoxRadioOptions);
}
Теперь обновите логику обработки события Click для кнопки Подтвердить заказ. Выясните, какие из элементов CheckedListBox в настоящий момент отмечены, и добавьте их в строку orderInfo. Вот как должен выглядеть соответствующий программный код.
private void btnOrder_Click(object sender, EventArgs e) {
// Построение строки с информацией для отображения.
string orderInfo = "";
…
orderInfo += "-------------------------------n";
// Для каждого элемента из CheckedListBox.
for (int i = 0; i ‹ checkedBoxRadioOptions.Items.Count; i++) {
// Отмечен ли элемент?
if (checkedBoxRadioOptions.GetItemChecked(i)) {
// Получение текста элемента и добавление к orderInfo.
orderInfo += "Опция радио: ";
orderInfo += checkedBoxRadioOptions.Items[i].ToString();
orderInfo += "n";
}
}
…
}
В качестве заключительного замечания относительно типа CheckedListBox обращаем ваше внимание на то, что этот тип поддерживает многоколоночное представление, устанавливаемое с помощью унаследованного свойства MultiColumn. Поэтому, если вы добавите в программный код оператор
checkedBoxRadioOptions.MultiColumn = true;
вы увидите многоколоночный CheckedListBox, как показано на рис. 21.10.
Рис. 21.10. Многоколоночный тип CheckedListBox
- Элемент Listbox
- Элемент ComboBox
- Работа с базовыми элементами управления
- Элемент CheckBox
- Элемент ListBox
- Создание свободно позиционируемых элементов
- 6.4. Рабочий лист Excel и его структурные элементы
- Письма с элементами графики и вложениями
- Элемент STYLE
- 4.4. Логические элементы и синтез логических схем
- 4.7 Структурные элементы SAN
- Добавление, изменение и удаление элементов списка