在VB的ListView中删除多个表项的代码问题
为什么Fori=lv.ListItems.CountTo1Step-1Iflv.ListItems(i).SelectedThenlv.ListItems.Removei...
为什么
For i = lv.ListItems.Count To 1 Step -1
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
能实现删除多个表项而
For i =0 To lv.ListItems.Count
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
却提示索引超出边界??? 展开
For i = lv.ListItems.Count To 1 Step -1
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
能实现删除多个表项而
For i =0 To lv.ListItems.Count
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
却提示索引超出边界??? 展开
展开全部
首先要纠正你的说法:
“
For i = lv.ListItems.Count To 1 Step -1
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
能实现删除多个表项”
其实For语句是有错的,应为:
For i = lv.ListItems.Count-1 To 0 Step -1
其次:
For i =0 To lv.ListItems.Count-1 (这里应加-1)
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
删除前面的项目后,后续的项目的序号会自动减小,因此,只要有一个项目被删除,必然导致最后一项的序号超出范围,所以应采用倒删法。
“
For i = lv.ListItems.Count To 1 Step -1
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
能实现删除多个表项”
其实For语句是有错的,应为:
For i = lv.ListItems.Count-1 To 0 Step -1
其次:
For i =0 To lv.ListItems.Count-1 (这里应加-1)
If lv.ListItems(i).Selected Then lv.ListItems.Remove i
Next
删除前面的项目后,后续的项目的序号会自动减小,因此,只要有一个项目被删除,必然导致最后一项的序号超出范围,所以应采用倒删法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询