vb 一段代码的翻译,我有些看不懂

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:37:13
Private Sub Cmd1_Click()
Dim x As Integer
While Lst1.SelCount > 0
For x = 0 To Lst1.ListCount - 1
If Lst1.Selected(x) = True Then
Lst2.AddItem Lst1.List(x)
Lst1.RemoveItem x
Exit For
End If
Next x
Wend
End Sub

这是关于两个列表之中内容来回交换的代码

能不能一句一句帮我翻译一下,我有些糊涂

dim as 我查资料好像是指定一个变量的数据类型
但是在这里面选择列表项(列表是复选框类型的),肯定都是整数,所以这句话可有可无不是吗?我删了这句话也没有程序错误。

while好像是符合条件的时候自动进入下面的循环,不符合就不进行
wend就是这个语句的结束吗?

如果我删掉了while wend,虽然程序没有异常,但是for next的循环就要我一步步点击,就是我一次选中了多个项,但是要点击一次移动一个,而不删除while的时候就可以一次性进行循环,这是为啥

exit for应该是可以省略的啊,为什么我不写他就会出现错误,是不是我没有让循环结束,而符合条件的项目又已经没有了,就会出现错误?

而且为什么exitfor和endif要这样放,反过来先写endif不行吗?我反过来之后电脑就不动了,估计是死循环?

各位帮帮忙,新学vb,有很多不懂

Private Sub Cmd1_Click() '开始命令按钮Cmd1的单击事件
Dim x As Integer '定义x为整型
While Lst1.SelCount > 0 '当列表Lst1所选的项目的标号大于零时(开始循环)
For x = 0 To Lst1.ListCount - 1 '赋值x=0 到 Lst1的项目总数
If Lst1.Selected(x) = True Then '如果Lst1选中的第x项可用,则
Lst2.AddItem Lst1.List(x) 'Lst2添加Lst1的选中项目
Lst1.RemoveItem x 'Lst1清除选中项目
Exit For '退出赋值
End If '关闭判断
Next x '退出循环
Wend '关闭循环
End Sub '退出事件

Private Sub Cmd1_Click()
Dim x As Integer
While Lst1.SelCount > 0
For x = 0 To Lst1.ListCount - 1
If Lst1.Selected(x) = True Then ,假如列表框1项目被选中
Lst2.AddItem Lst1.List(x) ,将选中项目添加到列表框2
Lst1.RemoveItem x ,删除列表框1选中项目
Exit For ,退出循环 (就是完成1次交

换后就退出)
End If
Next x
Wend
End