ПОНЯТНО О Visual Basic NET (том 3)

       

Работа с CheckedListBox 


Разместим на форме CheckedListBox (его внешний вид показан на Рис. 18.12) и кнопку. Свойства, события и методы, рассмотренные в предыдущем подразделе, относятся также и к списку с флажками. Однако их недостаточно, чтобы что-нибудь делать сразу со всеми элементами, на которых установлены флажки. Посмотрим, как с ними работать.

Основой списка с флажками являются три коллекции:

Коллекция Items, состоящая, как и у остальных списков, изо всех элементов списка.

Коллекция CheckedItems, состоящая из элементов списка, помеченных флажками.

Коллекция CheckedIndices, состоящая из номеров (в коллекции Items) тех элементов списка, которые помечены флажками.

Для иллюстрации сказанного создадим процедуру:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Debug.WriteLine(CheckedListBox1.Items(2))                       '3-й элемент списка (его номер = 2)

        Debug.WriteLine(CheckedListBox1.CheckedItems(2))        '3-й помеченный флажком элемент списка

        Debug.WriteLine(CheckedListBox1.CheckedIndices(2))     'Номер 3-го помеч-го флажком элемента списка

        'Правда ли, что элемент списка номер 2 помечен флажком:

        Debug.WriteLine(CheckedListBox1.GetItemChecked(2))

End Sub

Запустим проект. Расставим флажки так, как на Рис. 18.12. Щелкнем по кнопке. Вот что будет напечатано:

ЦСКА

Локомотив

4

False

Не забывайте, что нумерация в коллекциях, принадлежащих спискам, идет с нуля, а не с 1.

Не кажется ли вам, что список с флажками делает то же самое, что и простой набор флажков в рамке? В общем – да. Но когда список большой, CheckedListBox гораздо удобнее и компактнее. Ведь он может уместить десятки элементов, не занимая много места на форме. А удобство программирования вы оцените, увидев как элементарно решается Задание 126, когда вместо обычных флажков используется список с флажками. Вот вам это новое задание:

Задание 5.    

Выполните Задание 126 «Виртуальный ресторан» с использованием CheckedListBox. То есть при нажатии на кнопку «Заказать» проект должен печатать в окне Output список помеченных флажками в CheckedListBox блюд. Указание: Основное преимущество программы, которая у вас получится – вам не придется создавать коллекцию. Она в готовом виде уже существует.



Содержание раздела