VB中的listbox删除复选选项的问题
listbox如何删除复选选项fori=0tolist1.listcount-1iflist1.selected(i)=truethenlist1.removeitemi...
listbox如何删除复选选项
for i =0 to list1.listcount-1
if list1.selected(i)= true then
list1.removeitem i
end if
next
只能删除单选项啊 一多选就报错了
Private Sub Command2_Click()
For i = 0 To List2.ListCount - 1
If i = List2.ListCount Then
Exit For
ElseIf List2.Selected(i) = True Then
List1.AddItem List2.List(i)
List2.RemoveItem i
i = i + 1
End If
Next
直接把代码发上来吧 能否帮我改进这段代码 实现删除复选 内容 并添加到list1中 展开
for i =0 to list1.listcount-1
if list1.selected(i)= true then
list1.removeitem i
end if
next
只能删除单选项啊 一多选就报错了
Private Sub Command2_Click()
For i = 0 To List2.ListCount - 1
If i = List2.ListCount Then
Exit For
ElseIf List2.Selected(i) = True Then
List1.AddItem List2.List(i)
List2.RemoveItem i
i = i + 1
End If
Next
直接把代码发上来吧 能否帮我改进这段代码 实现删除复选 内容 并添加到list1中 展开
1个回答
展开全部
Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
If i = List1.ListCount Then Exit For
If List1.Selected(i) = True Then
List1.RemoveItem i
i = i - 1
End If
Next
End Sub
Private Sub Form_Load()
For i = 1 To 10
List1.AddItem "aa" & i
Next
End Sub
追问
.大神 能问下第一句if i = list1.list1.listcount then exit for 是什么意思吗
追答
因为for i=0 to List1.ListCount - 1中for 只做一次listcount-1的运算,
以后你删除条件目后,并不改变for i的结束值。
比如开始listcount是10,那么这个for循环只会做for i=0 to 9循环,
并不会每次循环都安listcont-1来改变结束值。
也就是不会象你想的for i=0 to 9 删除一条内容成为for i=0 to 8
再删除一条内容成为for i=0 to 7等等的改。
当你删除了一个记录,而for i还做0到9的循环,而条目数已经不够,所以就出错了。
我用If i = List1.ListCount Then Exit For判断当前循环条目数和listcount相等就结束循环,就不会出错了,因为条目索引最大值是listcount-1,所以i=listcount时已经循环完了所有条目。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询