Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Каталог сайтов

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 35663
Главная » Разработчик » Элементы управления » Элементы управления формы

ListBox
12.09.2013, 11:42

Элемент управления 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. 
' Если сканировать список с начала, число итераций превысит число пунктов списка, 
' что ведет к ошибке исполнения. 
' Если же сканировать список с конца, эта ошибка исключается.
Переходов: 10256 | Добавил: Serge_007 | Рейтинг: 1.0/1
Всего комментариев: 4
0   Спам
1    PowerBoy   (12.09.2013 09:56)
   В методе AddItem параметр Item тоже необязателен.
For i = 0 To UBound(ANames)
ListBoxGroupFieldsFunc.AddItem
ListBoxGroupFieldsFunc.List(i, 0) = "1"
ListBoxGroupFieldsFunc.List(i, 1) = "2"
Next

0   Спам
2    Serge_007   (12.09.2013 11:02)
   Спасибо за дополнение

0   Спам
3    PYCTAM   (12.07.2014 11:35)
   Как добавить в листбокс у которого columncount = 6 значение с лист1 cells(i,j) (j от 1 до 6)?

0   Спам
4    Саня   (05.03.2015 11:34)
   здесь описание для vb6, но vba ≠ vb6, поэтому:
этого
Цитата
во время разработки, используя свойство List

нет.

Sorted - нет.

Style → ListStyle

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!