2 つのリストボックスがあり、リスト 1 からリスト 2 に項目を追加しようとしています。その後、リスト 2 から複数の項目を一度に削除できます。リスト 1 は停滞したままであることに注意してください (これが本来あるべき姿です)。
アイテムの追加が正しく機能しています:
'Add the selected items to List 2
Dim i As Integer
If lst1.ItemsSelected.Count > 0 Then
i = 0
While i < lst1.ListCount
If lst1.Selected(i) Then
lst2.AddItem (lst1.ItemData(i) & ";" & lst1.Column(1, i) & ";")
lst1.Selected(i) = False
End If
i = i + 1
Wend
End If
ただし、同様の方法でリスト 2 からアイテムを削除しようとすると、最初に選択したアイテムのみが選択済みとして認識され、選択した他のアイテムはスキップされます。これが問題です。これが私のコードです:
'Remove the selected items from List 2
Dim i As Integer
If lst2.ItemsSelected.Count > 0 Then
i = lst2.ListCount - 1
While i >= 0
If lst2.Selected(i) Then
lst2.RemoveItem (i)
lst2.Selected(i) = False
End If
i = i - 1
Wend
End If
これを正しく機能させるにはどうすればよいですか?