Элемент управления ListBox (Список) предоставляет пользователю выбрать значение из списка данных (один или несколько одновременно). Если число элементов в списке превышает число пунктов, которое список может вывести на экран, то в список автоматически добавляется полоса прокрутки.
Если нет выбранных элементов в списке, то значение свойства ListIndex равно -1. Первый пункт списка имеет значение ListIndex равным 0, а значение свойства ListCount всегда больше на единицу наибольшего значения ListIndex.
Для добавления или удаления пунктов в список программным путем используйте методы AddItem или RemoveItem. Также вы можете добавлять элементы в список во время разработки, используя свойство List. Каждый пункт следует вводить отдельной строкой,
нажимая комбинацию клавиш Ctrl + Enter. Завершив ввод пунктов, нажмите клавишу Enter, и они отобразятся в элементе ListBox на форме
Свойства
Некоторые свойства ListBox можно установить только в режиме проектирования и их нельзя изменять во время работы приложения
List | Массив пунктов списка. Элемент массива List(0) содержит первый пункт списка, элемент List(1) - второй и т.д., вплоть до последнего элемента - List(ListCount-1).
|
ListCount | Возвращает число пунктов списка. Доступ к ним можно получить с помощью значений индексов в диапазоне от 0 до ListCount-1
|
ListIndex | Представляет собой индекс выбранного пункта списка. При выборке нескольких пунктов ListIndex представляет индекс последнего выбранного пункта. Если не выбран ни один элемент, значение ListIndex = -1. Это свойство можно использовать
для выбора или удаления конкретных пунктов. Так, следующий код удаляет выбранный пункт элемента
List1.RemoveItem List1.ListIndex
Если при вызове метода RemoveItem ни один пункт списка не выбран, значение свойства ListIndex отрицательно.
Попытки удалить пункт с отрицательным индексом приводят к ошибке исполнения. После удаления пункта индексы последующих пунктов соответственно перестраиваются.
|
MultiSelect | Определяет метод выборки пунктов списка. Его значение задается при конструировании. Во время работы приложения значение свойства доступно только для чтения. Значение
свойства MultiSelect определяет, может ли пользователь выбрать несколько пунктов списка и метод выборки.
0 (None) - Выбор нескольких пунктов запрещен (по умолчанию)
1 (Simple) - Простой выбор нескольких пунктов. Щелчок кнопкой мыши (или нажатие клавиши пробела) выбирает или отменяет пункт списка. Для перемещения фокуса на другой пункт используйте клавиши со стрелкой
2 (Extended) - Расширенный выбор нескольких пунктов. Для выбора нескольких пунктов подряд нажмите клавишу Shift, а затем щелкайте на пунктах мышью (или нажимайте клавиши со стрелкой). Все пункты списка между ранее выбранным и текущим пунктами подсветятся.
Чтобы выбрать произвольно расположенные элементы списка (или отменить выбор), нажмите клавишу Ctrl и щелкните на пункте кнопкой мыши
|
Selected | Представляет собой массив, подобный свойству List. Если пункт списка выбран, значение свойства Selected данного пункта равно True. В противном случае значение свойства равно False
|
SelCount | Отображает число выбранных пунктов элемента ListBox, если значение свойства MultSelect установлено равным 1 (Simple) или 2 (Extended). Обычно это свойство используют вместе с массивом Selected для работы с выбранными пунктами элемента
|
Sorted | Предоставляет возможность автоматической сортировки элементов списка. Для этого установите значение свойства Sorted равным True. Сделать это можно только во время проектирования. Для сортировки чисел сначала отформатируйте их, добавив нули в начале каждого числа. Так как, число 10 всегда будет отображаться перед числом 7, поскольку строка "10" меньше строки
"7" (она начинается с единицы). Если же числа форматировать как "010" и "007", то сортировка будет корректна. Пункты в элементе ListBox сортируются по возрастанию с учетом регистра. Элементы
"aa", "aA", "AA, "Aa", "Ba" и "BA" сортируются следующим образом. "AA" "Aa" "aA" "aa" "BA "Ba".
|
Style | Определяет внешний вид элемента. Имеет два значения: 1 - Standard и 2 - Checkbox
|
Методы
AddItem | Используется для добавления пунктов в список.
List1.Additem item, index
Параметр item - строка, добавляемая в список, a index - ее порядковый номер (необятельный аргумент - если его опустить, строка добавляется в конец списка). Если значение свойства
Sorted равно True, то пункт вставляется в соответствующее
место списка, независимо от значения аргумента index
|
RemoveItem | Используется для удаления пункта из списка. Необходимо знать index удаляемого пункта
List1.Removeltem Index
Параметр index указывает на порядковый номер удаляемого пункта и является обязательным.
Следующий оператор удаляет пункт из начала списка. List1.Removeltem ()
|
Clear | Удаляет из списка элемента все пункты.
List1.Clear
|
Пример
' Для просмотра всех пунктов элемента управления List1
' с целью поиска и удаления пустых строк примените следующий цикл:
For item = List1.ListCount - 1 to 0 Step - 1
If List1.List(item) = "" Then
List1.RemoveItem item
End If
Next
' Данный цикл сканирует элементы массива List() с конца,
' так как при удалении каждого пункта длина списка уменьшается на 1.
' Если сканировать список с начала, число итераций превысит число пунктов списка,
' что ведет к ошибке исполнения.
' Если же сканировать список с конца, эта ошибка исключается. |