Так как настроить и использовать элемент управления ListBox для выбора нескольких элементов? Давайте уточним различные режимы выбора и разберём примеры кода.
Анонс и файл-пример был выставлен на моём телеграмм-канале два дня назад (27.07.2024). Несколько читателей уже апробировали скачанный файл-пример.
Итак, для начала создадим форму:
Дадим наименования OptionButton и кнопке Ок:
Режимы выбора в ListBox
Свойство MultiSelect элемента управления ListBox может принимать одно из трёх значений:
- 0 (fmMultiSelectSingle). Можно выбрать только один элемент. Это настройка по умолчанию.
- 1 (fmMultiSelectMulti). Можно нажимать пробел или щёлкать мышью, чтобы выделять (или отменять выделение) элементы в списке.
- 2 (fmMultiSelectExtended). Удерживая клавишу <Shift> и щёлкая мышью, можно расширять область выделения от предыдущего до текущего элемента. Также можно удерживать <Shift> и нажимать клавиши управления курсором для расширения выделенной области.
Особенности работы с несколькими выделенными элементами
Когда свойство MultiSelect установлено в 1 или 2, доступ к свойствам ListIndex или Value приведёт к ошибке. Вместо этого нужно использовать свойство Selected, которое возвращает массив с элементами, первый элемент которого имеет индекс 0.
📌 Скачать файл пример, можно в конце статьи.
Пример использования:
Пример кода для работы с несколькими выделенными элементами
Приведённый ниже код (код находится в модуле формы) демонстрирует, как обходить каждую опцию в ListBox и добавлять текст выделенных опций в переменную Сообщение. В конце все выделенные опции отображаются в окне сообщения.
Ну и надо заполнить ListBox какими-то данными. Например, днями недели. Есть пример кода в простом модуле, который делает это (массивом):
И при выполнении макроса:
Можно также заполнить ListBox названиями месяцев. Вот как выглядит макрос с пояснениями к строкам кода:
Если выбрать множественное выделение (с клавишей Shift), то в сообщении вы увидите:
Расширенное выделение, также подразумевает нажатую клавишу Shift.
В случае, если пользователь ничего не выбрал, то выйдет соответствующее сообщение:
Теперь, я надеюсь у вас есть некоторое понимание по использованию разных режимов выбора в ListBox и работе с несколькими выделенными элементами.
✔ На моём телеграмм-канале появился анонс на следующую статью, которая выйдет 01.08.2024 с НОВЫМ Excel файлом-примером. Скачать его уже сейчас можно по этой ССЫЛКЕ.