VB 删除 listbox 里某几个item的正确写法程序想实现的是将listbox里现有的item做判断,如果满足条件就删掉,但一循环起来就出了问题:for i = 0 to list.count-1if list.list(i) = XXX thenlist.removeitem(i)end ifnext

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 15:00:17
VB 删除 listbox 里某几个item的正确写法程序想实现的是将listbox里现有的item做判断,如果满足条件就删掉,但一循环起来就出了问题:for i = 0 to list.count-1if list.list(i) = XXX thenlist.removeitem(i)end ifnext

VB 删除 listbox 里某几个item的正确写法程序想实现的是将listbox里现有的item做判断,如果满足条件就删掉,但一循环起来就出了问题:for i = 0 to list.count-1if list.list(i) = XXX thenlist.removeitem(i)end ifnext
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

VB 删除 listbox 里某几个item的正确写法程序想实现的是将listbox里现有的item做判断,如果满足条件就删掉,但一循环起来就出了问题:for i = 0 to list.count-1if list.list(i) = XXX thenlist.removeitem(i)end ifnext
'一般是这样:
for i = list.count-1 to 0 step -1
if list.list(i) = XXX then
list.removeitem(i)
end if
next