For i = List1.ListCount - 1 To 3 Step -1 List1.RemoveItem I Next I 问题

ListCount中的3对应listindex中的2,那应该是从列表框中的第二行开始删除,为什么实际是从第3行开始删除?... ListCount中的3对应listindex中的2,那应该是从列表框中的第二行开始删除,为什么实际是从第3行开始删除? 展开
 我来答
亿劫修行
推荐于2016-02-08 · TA获得超过199个赞
知道小有建树答主
回答量:92
采纳率:100%
帮助的人:26.8万
展开全部
为了能回答答这个问题,我们需要将窗体的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行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx001z7d53
2012-03-31 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5613万
展开全部
ListCount中的3对应listindex中的2
这句话是你说的,别人没说
应该是3吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1e8a872
2012-03-31 · 超过12用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:28.4万
展开全部
第一行的listindex是0吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-03-31 · 超过56用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:69.4万
展开全部
1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式