Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция VB.doc
Скачиваний:
28
Добавлен:
04.03.2016
Размер:
2.54 Mб
Скачать
  • NameList — наименование списка, задаваемое свойством Name;

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

  • index — порядковый номер элемента в списке. Если этот параметр отсутствует, элемент добавляется в конец списка. (При использовании параметра index необходимо учитывать, что нумерация элементов начинается с 0. )

Например, для программного формирования списка городов вам необходимо задать следующую процедуру:

Private Sub Form Load()

List1.AddItem "Москва"

List1.AddItem "С.Петербург"

List1.AddItem "Псков"

List1.AddItem "Новгород"

List1.AddItem "Чебоксары" End Sub

На рис. 6.1 показано окно редактора кода, содержащего процедуру формирования списка городов.

Рис. 6.1. Окно редактора кода с процедурой, формирующей список

Города в списке располагаются в том порядке, в котором они заданы в процедуре. Например, если строку кода List1.Additem "Чебоксары" заменить строкой

List1.Additem "Чебоксары", 0

то в списке городов Чебоксары будут помещены в первую позицию (рис. 6.2).

Рис. 6.2 Использование параметра index позволяет задать порядок элементов в списке

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

Visual Basic позволяет программно удалять элементы из списка с помощью метода Removeitem, имеющего следующий синтаксис:

NameList.RenioveItem index

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

Например, чтобы удалить из созданного нами в предыдущем примере списка List1 второй элемент, необходим следующий программный код:

List1.Removeitem 1

Чтобы удалить все элементы из списка, можно использовать метод clear (Очистить). В этом случае программный код выглядит так: List1.Clear.

Свойства ListCount и Listlndex

Свойство ListCount позволяет определить количество элементов в списке. Это значение можно использовать, например, в том случае, если вы хотите обрабатывать элементы списка в цикле. Свойство Listlndex показывает номер выбранного элемента. При выборе первого элемента списка значение свойства равно 0 исходя из того, что нумерация элементов начинается с 0. Если выбран пятый элемент, значение свойства Listlndex будет равно 4.

Рассмотрим пример использования свойства Listindex. В форме, содержащей список ListBox, разместим текстовое поле, в котором будет отображаться выбранное из списка значение (рис. 6.3). Откройте окно редактора кода списка и для события click задайте следующую процедуру:

Private Sub List1_Click()

Text1.Text = List1.List(List1.Listindex)

End Sub

Запустите форму на выполнение. Выбираемое из списка значение отображается в расположенном рядом с ним текстовом поле.

Свойства ListCount и Listindex доступны только при выполнении.

Рис. 6.3. Использование свойства Listindex для просмотра выбранного из списка элемента

Стиль оформления списка

Для управления внешним видом списка используется свойство style (Стиль). Оно содержит два значения: Standard и CheckBox. По умолчанию используется значение Standard, которое мы уже рассматривали ранее. При установке для свойства style значения CheckBox элементы списка оформлены в виде флажков. На рис. 6.4 показаны два вида списков в зависимости от значения свойства Style.

Рис. 6.4. Два стиля оформления списков в зависимости от значения свойства Style

Для изменения значения свойства Style во время выполнения приложения можно использовать константы Visual Basic vbListBoxStandard и vbListBoxCheckBox.

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

Программа 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] ,где: