Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выбор нескольких элементов из списка

Программа Visual Basic позволяет использовать списки, предоставляющие пользователю выбирать из него несколько элементов. Для создания таких списков предназначено свойство Multiselect (Множественный выбор). Оно может принимать значения, представленные в таблице.

Значения свойства Multiselect

Значение свойства Описание
0-Non (Нет) Стандартный список, используемый по умолчанию. Позволяет выбирать одно значение
1-Simple (Простой множественный выбор) Разрешен выбор нескольких элементов щелчком мыши или нажатием клавиши <Spacebar> (Пробел). Для отмены выбора необходимо щелкнуть мышью или нажать клавишу <Spacebar> еще раз
2-Extended (Расширенный множественный выбор) Разрешен выбор нескольких элементов с помощью способа, используемого в Windows. Для выбора элементов, расположенных подряд, необходимо при нажатой клавише <Shift> выбрать первый элемент из выбираемых, а затем последний. При этом будут выбраны все размещенные между ними элементы. Для выбора элементов, расположенных не по порядку, необходимо нажать клавишу <Ctrl> и, удерживая ее нажатой, выделить требуемые элементы списка

Для обработки множественного выбора нельзя использовать свойство Listindex, применяемое при работе с обычными списками. Выбор нескольких элементов списка фиксируется в свойстве Selected, являющимся массивом, размерность которого равна количеству элементов в списке (определяется свойством ListCount). Выбранному элементу списка соответствует значение True соответствующего элемента свойства selected, а остальным — False.

Рассмотрим пример использования свойства Selected. Разместим в форме два списка. В первый список введем элементы с использованием свойства List. Список элементов во втором списке будет формироваться при перемещении на него фокуса после выбора элементов первого списка. Таким образом, второй список будет содержать выбранные в первом списке элементы. Для создания приложения выполните следующие действия:

1. Разместите в форме два списка с помощью кнопки ListBox на панели элементов управления.

2. Используя свойство List первого списка, введите элементы списка.

3. Чтобы разрешить выбор из первого списка нескольких элементов, установите для свойства Multiselect значение 1-Simple.

4. Теперь необходимо задать процедуру формирования элементов второго списка при перемещении на него фокуса. Для этого дважды щелкните мышью на втором списке.

5. В открывшемся окне редактора кода из списка Procedure выберите событие GotFocus (Получение фокуса) и введите следующий код:

Private Sub List2_GotFocus()

List2.Clear

For i = 0 To List1.ListCount — 1

If List1.Selected(i) Then List2.Addltem (List1.List (i))

Next

End Sub

На рис. 6.5 представлен полученный результат.

Рис. 6.5. Отображение выбранных значений во втором списке

Списки типа СоmbоВох называют раскрывающимися или полями со списком. Оба этих названия верны. Раскрывающимися их называют потому, что для выбора значения из списка, имеющего установленные по умолчанию свойства, сначала необходимо открыть список, нажав кнопку со стрелкой, расположенную с правой стороны поля ввода. Второе название поле со списком они получили потому, что список типа ComboBox совмещает функции списка и поля ввода. Иными словами, можно не только выбирать данные из списка, но и вводить в поле ввода в верхней части новые значения. Использование списков ListBox дает возможность выдавать большой объем информации, экономя при этом место в форме.

Стилем оформления списка типа comboBox управляет свойство style. Оно может принимать значения, представленные в таблице.

Значения свойства Style

Значение свойства Описание
0-Dropdown Combo Стиль, используемый по умолчанию. Данный список показан на рис. 6.8 слева. Пользователь может ввести значение в текстовое поле, расположенное в верхней части списка, либо открыть список, нажав кнопку с направленной вниз стрелкой с правой стороны поля, и выбрать требуемое значение. Выбранное значение переносится в текстовое поле
1-Simple Combo Вид данного списка показан на рис. 6.8 в центре. При данном значении список отображается в форме в открытом состоянии. Если все элементы в нем не помещаются, появляется вертикальная полоса прокрутки. Пользователь может ввести значение в текстовое поле, располагающееся в верхней части списка, либо выбрать требуемое значение, которое будет перенесено в текстовое поле
2-Dropdown List Вид данного списка показан на рис. 6.8 справа

Рис. 6.8. Стили оформления списка типа ComboBox

Замечание

Для установки значения Style можно использовать также внутренние константы Visual Basic vbComboDropDown, vbComboSimple, И vbComboDropDownLis; соответственно.

Добавление элементов в список типа ComboBox

Элементы в список типа ComboBox могут добавляться во время разработки с помощью свойства List и программно с использованием метода Additem так же, как в список типа ListBox. При формировании списка во время разработки в свойстве List вручную задается весь необходимый список. Данные, отображаемые списком, можно упорядочить, установив для свойства Sorted (Сортировка) значение True.

Для добавления элементов в список программно используется метод Additem, имеющий приведенный ниже синтаксис:

NameList.AddItem выражение [, index],где:

· NameList — наименование списка, задаваемое свойством Name;

· выражение — элемент списка. Если' это символьная величина, то она должна быть помещена в кавычки;

· index — порядковый номер элемента в списке.

Если при добавлении элементов в список параметр index отсутствует, то элемент добавляется в конец списка.

Обычно для программного формирования списка используется процедура Form_Load обработки события. Например, чтобы программно сформировать элементы для списка типа соmbоВох, содержащего список городов, вам достаточно задать следующую процедуру:

Private Sub Form Load()

Combo1.Additem "Москва"

Combo1.Additem "С.Петербург"

Combo1.Additem "Псков"

Combo1.Additem "Новгород"

Combo1. Additem "Чебоксары"

End Sub

Если при формировании списка вы не используете параметр index, элементы в списке располагаются в том порядке, в котором они заданы в процедуре. Например, если к приведенной ниже процедуре добавить строку кода

Combo1.AddItem "Киев",0

то в списке городов Киев будет помещен в первую позицию, а все остальные элементы смещены на одну позицию вниз.

Удаление элементов из списка типа СоmbоВох

Удаление элементов из списка типа СотЬоВох осуществляется с помощью метода Removeitem, имеющего следующий синтаксис:

NameList.Removeltem index

где NameList — наименование списка, задаваемое свойством Name, a index — порядковый номер удаляемого элемента в списке.

Например, для удаления из списка, имеющего наименование combol, первого элемента, можно использовать следующий код:

Combo 1. RemoveItem 0

Для удаления всех элементов из списка можно использовать метод clear (Очистить). В этом случае программный код выглядит так: combol. clear.

<== предыдущая лекция | следующая лекция ==>
Стиль оформления списка | Доступ к элементам списка
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 608; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.