i*****r 发帖数: 1302 | 1 我有个listbox,里面要多选几个,然后点一个button就能把他们全删除
Private Sub Command5_Click()
Dim i As Integer
For i = Me.List3.ItemsSelected.Count To 1 Step -1
List3.RemoveItem (Me.List3.ItemsSelected.Item(i - 1))
Next i
end sub
这个code不work,很奇怪,我知道要从底下开始删,但是删掉第一个之后剩下的就不
highlighted了
添加的时候多选可以一次性添加,删除的时候怎么就不行了呢! | i*****r 发帖数: 1302 | 2 打个比方,我listbox里有10个row,我现在highlight 3,6,9把他们删除
i=3
Me.List3.ItemsSelected.Item(i - 1) = Me.List3.ItemsSelected.Item(2)
就等于选中的三个当中的第三个,因为base都是0,那就是9
然后List3.RemoveItem (9)就把最后一个先删除,问题就在这个时候,剩下的两个没有
highlighted了,所以没法继续,这个太搞了 | s**m 发帖数: 1564 | 3 try this:
For i = Me.List3.Count To 1 Step -1
If List3.Selected(i) = True Then
List3.RemoveItem (i-1) | i*****r 发帖数: 1302 | 4 还是不行,一样的跑了一次之后highlighted的就消失了
【在 s**m 的大作中提到】 : try this: : For i = Me.List3.Count To 1 Step -1 : If List3.Selected(i) = True Then : List3.RemoveItem (i-1)
| s**m 发帖数: 1564 | 5 then create an int array to hold all the row # to be deleted.
then loop throw this array to delete items off the listbox | i*****r 发帖数: 1302 | 6 恩,现在行了,thanks!
【在 s**m 的大作中提到】 : then create an int array to hold all the row # to be deleted. : then loop throw this array to delete items off the listbox
|
|