Элемент CheckedListBox представляет симбиоз компонентов ListBox и CheckBox. Для каждого элемента такого списка определено специальное поле CheckBox, которое можно отметить.
Все элементы задаются в CheckedListBox задаются в свойстве Items. Также, как и для элементов ListBox и ComboBox, мы можем задать набор элементов. По умолчанию для каждого добавляемого нового элемента флажок не отмечен:
Чтобы поставить отметку в checkBox рядом с элементом в списке, нам надо сначала выделить элемент и дополнительным щелчком уже установить
флажок. Однако это не всегда удобно, и с помощью свойства CheckOnClick и установке для него значения true
мы
можем определить сразу выбор элемента и установку для него флажка в один клик.
Другое свойство MultiColumn при значении true
позволяет сделать многоколоночный список, если элементы
не помещаются по длине:
Выделенный элемент мы также можем получить с помощью свойства SelectedItem, а его индекс - с помощью свойства
SelectedIndex. Но это верно только, если для свойства SelectionMode установлено
значение One
, что подразумевает выделение только одного элемента.
При установке для свойства SelectionMode
значений MultiSmple
и MultiExtended
можно выбрать
сразу несколько элементов, и тогда все выбранные элементы будут доступны в свойстве SelectedItems, а их
индексы - в свойстве SelectedIndeces.
И поскольку мы можем поставить отметку не для всех выбранных элементов, то чтобы отдельно получить отмеченные элементы, у CheckedListBox имеются свойства CheckedItems и CheckedIndices.
Для добавления и удаления элементов в CheckedListBox определены все те же методы, что и в LstBox:
Add(item)
: добавляет один элемент
AddRange(array)
: добавляет в список массив элементов
Insert(index, item)
: добавляет элемент по определенному индексу
Remove(item)
: удаляет элемент
RemoveAt(index)
: удаляет элемент по определенному индексу
Clear()
: полностью очищает список
К особенностям элемента можно отнести методы SetItemChecked и SetItemCheckState.
Метод SetItemChecked
позволяет установить или сбросить отметку на одном из элементов. А метод SetItemCheckState
позволяет установить флажок в одно из трех состояний: Checked (отмечено), Unchecked (неотмечено) и Indeterminate (промежуточное состояние):
checkedListBox1.SetItemChecked(0, true); checkedListBox1.SetItemCheckState(1, CheckState.Indeterminate);