Часто при заполнении элемента управления ListBox информацией из базы данных бывает необходимо, чтобы этот компонент не только выводил описания элементов базы данных, но и хранил некоторые ключевые значения. Например, если окно списка содержит имена сотрудников, наверное, будет полезно хранить здесь также их персональные идентификаторы. В том случае, если вы используете числовые идентификаторы, VB предоставляет возможность осуществить это с помощью свойства ItemData компонента ListBox, которое позволяет хранить дополнительное число для каждого элемента списка. Проиллюстрируем это на таком примере. Поместите окно списка на стандартную форму и введите следующий код:
Private Sub Form_Load()
' Заполнение списка и массива ItemData
' соответствующими элементами
With List1
.AddItem "Владимир Николаев"
.ItemData(List1.NewIndex) = 42310
.AddItem "Максим Сергеев"
.ItemData(List1.NewIndex) = 52855
.AddItem "Михаил Смирнов"
.ItemData(List1.NewIndex) = 64932
.AddItem "Анна Васильева"
.ItemData(List1.NewIndex) = 39227
End With
End Sub
Private Sub List1_Click()
Dim Msg As String
' Вывод окна сообщения, содержащего
' идентификатор и имя сотрудника
With List1
Msg = .ItemData(.ListIndex) & " " & .List(.ListIndex)
MsgBox Msg
End With
End Sub