VB while 解释一下

futurepi 2009-06-13 09:46:29
Private Sub CmdRight_Click()
 Dim X As Integer
 While LstLeft.SelCount > 0
  For X = 0 to LstLeft.LstCount - 1
   If LstLeft.Selected(X) = True Then
    LstRight.AddItem LstLeft.List(X)
    LstLeft.RemoveItem X
    Exit For
   End If
  Next X
 Wend
End Sub

While LstLeft.SelCount > 0
  For X = 0 to LstLeft.LstCount - 1这句是什么意思啊,
...全文
169 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zydscaline 2009-06-13
  • 打赏
  • 举报
回复
LstLeft.LstCount 应该是某一个文件的记录数吧(LstLft的吧)

因为VB的什么(我不记得术语是什么了《郁闷)类似行数,列数,记录个数之类的,它是以0开头,例如我们说的123456这六个记录,如果VB来表示的语就是012345这六个记录了,所以一些数据要从0开始做循环,从记录数-1结束,


反正就是这个意思,我没有表达清楚,你再查查学VB的基础书吧
贝隆 2009-06-13
  • 打赏
  • 举报
回复
楼主在侮辱各位的智商
yachong 2009-06-13
  • 打赏
  • 举报
回复
For X = LstLeft.LstCount - 1 To 0 Step -1
If LstLeft.Selected(X) = True Then
LstRight.AddItem LstLeft.List(X), 0
LstLeft.RemoveItem X
Exit For
End If
Next X
这样就行了,外层的while循环没必要。

删除的时候从后向前删,可以保证没有漏删的,从而可以省略掉外层的while。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧