Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_Lab2.doc
Скачиваний:
3
Добавлен:
14.11.2019
Размер:
213.5 Кб
Скачать

Проверка состояния элемента списка

Метод GetSelected(index) возвращает True, если элемент списка с индексом i выбран, и –False в противном случае

If listBox1.GetSelected(i) = True Then …

Доступ к коллекции выделенных элементов

Согласно справке, для доступа к коллекции выделенных элементов используется свойство SelectedObjectCollection, которое, в свою очередь, имеет свойство Count и метод Item(i). Но при использовании SelectedObjectCollection интерпретатор выдает ошибки.

Лучше использовать свойство SelectedItems, которое для списка с множественным выбором возвращает коллекцию выбранных элементов. Метод IndexOf позволяет получить индекс элемента по его значению. Так ListBox1.Items.IndexOf("Ростов") вернет индекс элемента списка "Ростов". Если такого элемента в списке нет — вернется отрицаельное значение (-1).

Следующий код выводит список выделенных в ListBox1 элементов и их индексов.

Dim n As Integer

n = ListBox1.SelectedItems.Count

Dim selList As String = ""

Dim i As Integer

For i = 0 To n - 1

selList &= "Номер " & _ ListBox1.Items.IndexOf(ListBox1.SelectedItems.Item(i)) & _

" " & ListBox1.SelectedItems.Item(i).ToString & " " & vbCrLf

Next

MsgBox(selList)

Снятие выделения со всех элементов

listBox1.ClearSelected()

Свойство TopIndex

Свойство TopIndex определяет индекс самого верхнего элемента, видимого в списке. В следующем примере прокручивается список так, чтобы выделенный элемент оказался верхним в видимой части:

If listBox1.TopIndex <> listBox1.SelectedIndex Then

listBox1.TopIndex = listBox1.SelectedIndex

End If

Свойство Text возвращает значение элемента выбранного из списка последним.

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

Добавить элемент в список можно методом Add

ListBox1.Items.Add("Ростов")

Элемент списка "Ростов" для отсортированого списка будет добавлен в алфавитном порядке, для несортированного списка — в конец.

Если надо добавить сразу несколько элементов, то, чтобы список не перерисовывался несколько раз, надо использовать методы BeginUpdate() и EndUpdate().

listBox1.BeginUpdate() ' запрещаем перерисовку списка

'записываем в список 50 элементов

Dim x As Integer

For x = 1 To 50

listBox1.Items.Add("Item " & x.ToString())

Next x

'Разрешаем перерисовку списка

listBox1.EndUpdate()

Добавить несколько элементов можно методом AddRange(array)

Dim ItemObject(9) As System.Object ' String

Dim i As Integer

For i = 0 To 9

ItemObject(i) = "Item" & i

Next i

ListBox1.Items.AddRange(ItemObject)

Удаление элемента с индексом i

listBox1.Items.RemoveAt(i)

Удаление выделенного элемента

ListBox1.Items.Remove(ListBox1.SelectedItem)

Удаление элемента по значению

ListBox1.Items.Remove("Tokyo")

Очистка списка

ListBox1.Items.Clear()

Задание №3

3 .1 К форме предыдущего задания добавить новый элемент GroupBox с заголовком "Задание №3"

3.2 На этом элементе разместить:

3.2.1) текстовое поле с именем txtInput;

под ним список ListBox1, в который записать 4-5 имен. Список допускает множественное выделение;

3.2.2) кнопку btnAdd, при нажатии которой строка из текстового поля добавляется в список;

3.2.3) кнопку btnRemove, при нажатии которой удаляется из списка строка, находящаяся в текстовом поле. Если такой строки нет в текстовом поле – выводится соответствующее сообщение (MsgBox)

3.2.4) кнопку btnSelect, при нажатии которой в списке выделяется строка из текстового поля. Если такой строки нет в текстовом поле – выводится соответствующее сообщение (MsgBox). Не забудьте убрать предыдущее выделение.

3.2.5) кнопку btnClear, при нажатии которой список очищается.

3.2.6) метку lblSelect, при щелчке которой в окно MsgBox выводится список выделенных элементов и из индексы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]