Елемент управління CheckedListBox

Елемент управління CheckedListBox є поєднанням елементів ListBox, що задає стандартний список, і CheckBox, що має вигляд прапорця  призначеного для вибору одного з двох можливих значень. Таким чином, даний об'єкт являє собою список елементів, з лівого боку кожного з яких розташований прапорець (рис. 2).

Рис.1. Елемент управління CheckedListBox на панелі Toolbar

Елемент управління CheckedListBox володіє основними властивостями списків, такими як наявність смуги прокрутки, можливістю задання більше двох колонок, сортуванням елементів за алфавітом.

Примітка

Хоча елемент управління CheckedListBox містить властивість SelectionMode, задати виділення декількох елементів списку не можна. Можна лише встановити прапорці у будь-якого числа елементів.

Рис.2. Елемент управління CheckedListBox

Елемент управління CheckedListBox має також індивідуальні властивості, зазначені в таблиці 1.

Таблиця 1. Властивості елемента управління CheckedListBox

Властивість Опис 
 СheckOnClick  Дозволяє визначити, буде прапорець встановлюватися при виборі елемента списку або при додатковому натисканні на ньому. Для одночасного виділення елемента і вибору прапорця необхідно задати значення True для цієї властивості
 TreeDCheckBoxes  Значення за замовчуванням True задає тривимірний вигляд прапорців в списку, а значення False визначає плоский вид елементам списку

Для звернення до елементів переліку використовується колекція Items. Вона також дозволяє за допомогою своїх методів програмно додати або видалити елементи списку, а за допомогою властивості Count визначити загальне число елементів списку.

Щоб програмно задати стан прапорця одному з елементів списку, застосовуються методи SetItemChecked і SetItemCheckState, які мають наступний синтаксис:

    SetItemChecked(ByVal index As Integer, ByVal value1 As Boolean)

    SetItemCheckState(ByVal index As Integer, ByVal value2 As CheckState)

де:

Index - номер елемента в списку;

Value1 - значення True дозволяє встановити прапорець, а значення False - його скинути;

Value2 - задає одне з трьох можливих станів прапорця. Приймає значення перерахування CheckState: Checked (Встановлений), Indeterminate (Невизначений) і Unchecked (Скинутий).

Для визначення обраних елементів списку, тобто елементів з встановленими прапорцями, служить колекція CheckedItems елемента управління CheckedListBox. Наприклад, за допомогою наведеного далі коду можна при натисканні на кнопку видалити зі списку всі елементи з встановленими прапорцями. Для цього виконайте такі дії:

1. Створіть новий Windows-додаток та розмістіть на формі елемент керування CheckedListBox.

2. Використовуючи властивість Items, задайте елементи списку.

3. Перетягніть на форму елемент управління Button і надайте значення bRemove і Видалити його властивостями Name і Text відповідно.

4. Для задання процедури обробки події натискання кнопки двічі клацніть на кнопці Видалити. Відкриється вікно редактора коду зі створеною процедурою bRemove_Click. Додайте в тіло процедури наступний код:

        While Not CheckedListBox1.CheckedItems.Count = 0

            CheckedListBox1.Items.Remove(CheckedListBox1.CheckedItems(0))

        End While

При видаленні вибраного елементу списку число елементів колекції CheckedItems зменшується на одиницю. Тому для видалення всіх елементів колекції досить в циклі видаляти лише перший елемент.