#vba #vb6
#vba #vb6
Вопрос:
Использование VB6
В форме, 2 имени списка как list1, list2 и 4 названия кнопок >, >>, <, <<
I want to add the list1 selected items to list2
I want to remove the selected items from list2 to list1
Как это сделать.
Нужна помощь по коду Vb6
Ответ №1:
Как правило, ваш подход будет заключаться в циклическом просмотре значений индекса всех элементов в вашем исходном ListBox. Если вы перемещаете все элементы в ListBox, то для каждого элемента вам следует вызвать метод AddItem в вашем целевом ListBox (используя значение индекса для извлечения текста текущего элемента в вашем исходном ListBox). Затем вы должны вызвать метод ListBox removeItem, чтобы удалить тот же элемент из вашего исходного ListBox.
Если вы перемещаете только выбранные элементы, то вы все равно будете перебирать все значения индекса, но вы будете использовать свойство Selected для каждого элемента в исходном списке, чтобы определить, выбран ли элемент. Если это так, используйте описанные выше шаги для перемещения элемента.
Однако особенности того, что вам нужно сделать, различаются в зависимости от того, как вы настроили несколько свойств в своих списках. Ресурс, который вы сочтете полезным, — это обсуждение списков на thevbprogrammer.com. Посмотрите на пример раздела: Добавление и удаление элементов с помощью двух списков; в нем приведены примеры того, что вы хотите сделать.
Ответ №2:
Чтобы добавить в List2 из List1 в VBA
Private Sub CMDAddOne_Click()
On Error GoTo Err_cmdAdd_Click
If Me.List1.ListIndex >= 0 Then
Me.List2.AddItem (Me.List1.ItemData(Me.List1.ListIndex))
End If
Exit_cmdAdd_Click:
Exit Sub
Err_cmdAdd_Click:
MsgBox Err.Description
Resume Exit_cmdAdd_Click
End Sub
Для удаления из списка2
If Me.List2.ListIndex >= 0 Then
Me.List2.RemoveItem Me.List2.ListIndex
End If