VB 删除 listbox 里某几个item的正确写法程序想实现的是将listbox里现有的item做判断,如果满足条件就删掉,但一循环起来就出了问题:for i = 0 to list.count-1if list.list(i) = XXX thenlist.removeitem(i)end ifnext出现的问题是,i = 0时,removeitem(0),此时原来的第二项就上移到第一项了,循环接着走下去,i =1时,removeitem(i),此时检查的就是原list的第三项了,第二项就漏掉了,所
2019-04-13
VB 删除 listbox 里某几个item的正确写法
程序想实现的是将listbox里现有的item做判断,如果满足条件就删掉,但一循环起来就出了问题:
for i = 0 to list.count-1
if list.list(i) = XXX then
list.removeitem(i)
end if
next
出现的问题是,i = 0时,removeitem(0),此时原来的第二项就上移到第一项了,
循环接着走下去,i =1时,removeitem(i),此时检查的就是原list的第三项了,第二项就漏掉了,所以循环下去会有很多项漏掉没检查,因此请问这段程序正确写法,
next
优质解答
'一般是这样:
for i = list.count-1 to 0 step -1
if list.list(i) = XXX then
list.removeitem(i)
end if
next
'一般是这样:
for i = list.count-1 to 0 step -1
if list.list(i) = XXX then
list.removeitem(i)
end if
next