For i = List1.ListCount - 1 To 3 Step -1 List1.RemoveItem I Next I 问题
ListCount中的3对应listindex中的2,那应该是从列表框中的第二行开始删除,为什么实际是从第3行开始删除?...
ListCount中的3对应listindex中的2,那应该是从列表框中的第二行开始删除,为什么实际是从第3行开始删除?
展开
4个回答
展开全部
为了能回答答这个问题,我们需要将窗体的autoredraw属性设置为true,并在其中放置一个按钮,一个列表框。然后添加下列代码:
Private Sub Command1_Click()
For i = List1.ListCount - 1 To 3 Step -1
List1.RemoveItem i
Next i
End Sub
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 15
List1.AddItem "第" + Str(i) + " 项"
Next i
For i = 0 To 15
List1.ListIndex = i
Print "List1.ListIndex="; List1.ListIndex; " ";
Print "List1.Text ="; List1.Text
Print
Next i
End Sub
运行后,从窗体上打印出来的内容就可以看出,列表框的第一行,对应于List1.ListIndex=0,列表框的第二行,对应于List1.ListIndex=1,以此类推。
'单击按钮,实际上是把List1.ListIndex>=3的行(也就是第4行及其之后的所有行)全部删除,而只保留了List1.ListIndex=(0、1、2)的三行。
因此,按钮代码第4行开始删除,并非你说的第3行开始,更非第2行。
Private Sub Command1_Click()
For i = List1.ListCount - 1 To 3 Step -1
List1.RemoveItem i
Next i
End Sub
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 15
List1.AddItem "第" + Str(i) + " 项"
Next i
For i = 0 To 15
List1.ListIndex = i
Print "List1.ListIndex="; List1.ListIndex; " ";
Print "List1.Text ="; List1.Text
Next i
End Sub
运行后,从窗体上打印出来的内容就可以看出,列表框的第一行,对应于List1.ListIndex=0,列表框的第二行,对应于List1.ListIndex=1,以此类推。
'单击按钮,实际上是把List1.ListIndex>=3的行(也就是第4行及其之后的所有行)全部删除,而只保留了List1.ListIndex=(0、1、2)的三行。
因此,按钮代码第4行开始删除,并非你说的第3行开始,更非第2行。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ListCount中的3对应listindex中的2
这句话是你说的,别人没说
应该是3吧
这句话是你说的,别人没说
应该是3吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一行的listindex是0吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询