Элементы управления для работы со списками

Для работы со списками используются элементы управления ListBox и ComboBox. Элемент управления ListBox представляет собой список значений, расположенных в одну или несколько колонок, из которых пользователь может выбрать одно из предложенных значений. Значения в списке могут размещаться в одну или несколько колонок в зависимости от значения свойства MultiColumn. Если элементы списка расположены в нескольких колонках, с помощью свойства ColumnWidth можно изменить заданную по умолчанию ширину колонок. В том случае если элементы списка не помещаются в выделенную для них в форме область, появляются полосы прокрутки. Чтобы полосы прокрутки всегда отображались, необходимо присвоить значение True свойству ScrollAlwaysVisible.

Элемент управления ComboBox, кроме того, имеет дополнительное текстовое поле, в котором пользователь может ввести значение, позволяющее ему осуществить выбор значения из списка. Списки типа ComboBox называют раскрывающимися или полями со списком. Раскрывающимися их называют потому, что для выбора значения из списка необходимо список открыть, нажав кнопку со стрелкой.

Формирование списков может быть статическим (средствами визуального программирования) или динамическим (в процессе выполнения программы). Для статического заполнения используется свойство-коллекция Items. Программное добавление в конец списка производится методом Add ( ) этой коллекции.

ИмяСписка.Items.Add(Выражение).

Для добавления строки в заданное место в списке используется метод

InsertQ: ИмяСписка.Items.Insert(ИндексВСписке, Выражение).

Индекс в списке начинается с 0. Количество элементов в списке можно получить через свойство Count коллекции Items:

Dim КоличествоЭлементов As Integer = ИмяСписка.Items.Count

Доступ к элементу списка может производиться по индексу:

ВыбранныйЭлемент = ИмяСписка.^етз(ИндексЭлемента)

Индекс элемента может быть определен по его значению:

ИндексЭлемента = ComboBoxl.FindString(ЗначениеЭлемента)

Удаление элемента в списке с указанным значением производится методом Remove ( ), например:

ListBoxl. Items .Remove('ЗначениеЭлемента)

Удаление элемента в списке с указанным индексом производится методом RemoveAt( ):

ListBoxl.ItemsRemoveAt(ИндексЭлемента)

Удаление всех элементов списка производится методом С1еаг( ). Например:

ListBoxl.Items.Clear( )

Значение элемента, выбранного пользователем, указано в свойстве Тext:

Р^Вох("Пользователь выбрал" &ListBoxl.Text)

Индекс элемента, выбранного пользователем, указан в свойстве

Selectedlndex:

MsgBox("Выбран" & ListBoxl.Selectedlndex & "-й элемент Списка")

В комбинированном (раскрывающемся) списке дополнительно программируется работа с полем ввода. Например, добавление введенного пользователем значения в конец списка:

ComboBoxl.Items.Add(ComboBoxl.Text)

Пример добавления введённого элемента в указанную позицию списка: ComboBoxl.Items.Insert(ИндексЭлемента, ComboBoxl.Тext)

Список может быть отсортирован по возрастанию значений кодов: ComboBoxl.Sorted = True

Разновидности комбинированного списка определяются свойством

DropDownStyle.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >