你意思是想删除选择的内容是么?楼上的只能用于单选删除,多选会出错。
应该这样:
For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then
List1.RemoveItem (i)
Exit Sub'加上这个
End If
Next
不用的话,你想想,listbox的item个数一开始是一定的,但是当你删除了其中一个,队列的个数就没有当初那么多了,到了后面的循环,listbox中根本没有这个位置了
例如:
本来是listbox个数5,i=0 to 4,删除一个之后个数是4,那意思就是只有0-3了,这个时候你用selected(4)去检测,当然会出错了。
这个是单选的删除方法。
多选就不需要exit sub
但是个数需要从后面开始上来
For i = List1.ListCount - 1 to 0 step -1 '倒数过来,自己想想吧~
If List1.Selected(i) Then
List1.RemoveItem (i)
End If
Next
Private Sub Command1_Click()
List1.Clear
End Sub
方便快捷
Do While List2.ListIndex <> -1
List2.RemoveItem(List2.ListIndex)
Loop
的确有问题
再看看别人怎么说的。
的确有问题