请问这vb程序代码为什么会出现这个结果?

来源:百度知道 编辑:UC知道 时间:2024/06/20 01:53:02
Private Sub Form_Load()
For i = 1 To 6
Combo1.AddItem i
Next i
For i = 1 To 3
Combo1.RemoveItem i
Next i
End Sub
组合框中显示的结果为什么是1 3 5 ?

运行Private Sub Form_Load()
For i = 1 To 6
Combo1.AddItem i
Next i后,
组合框中显示的结果为123456
然后Combo1.RemoveItem 1 (移去第二项)
结果为13456 [注意:1即为第二项(Item编号是从0开始的),并非含有数字“1”的一项]
Combo1.RemoveItem 2 (移去第三项)
结果为1356
最后Combo1.RemoveItem 3 (移去第四项)
结果为135

第一个循环:
即ListIndex属性值从0开始,分别对应增加文本1--6;看到的是1,2,3,4,5,6
第二个循环:
RemoveItem 是删除以索引值为地址的项目,即以前面所说的ListIndex的值对应的项目,当i为1时,删除第二个(因为ListIndex从0算起),即2没有了(你看到的就是1,3,4,5,6,注意,这时候的3对应的ListIndex值已经变为1),同理,当i循环到2时就删除ListIndex为2的项目(即删除4这一项,最后i为时删除6。结果看到的就是1,3,5

combo1列表项是从0开始
你移除 1 就是列表第2项 在接着移除2 就是剩下的第三项 移除3就是剩下的第四项 剩下不就是1 3 5 了 每被移除一项 剩余项就会往上填充