VB中For循环语句问题
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 14:51:25
VB中For循环语句问题
大虾救命啊,帮我解决下,感恩不尽啊~
我建了两个ListBox(一个是LstLeft,另外一个是LstRight,并且它们的Style都是1)
我还建立了个Cmd1按钮,然后再LstLeft中添加了几个词,下面是一个代码,意思是将选中的词语放于LstRight中,并且将LstLeft中相应词语删除,但是我不明白每当放一个词在右边的时候,左边的LstLeft.ListCount 这个时候For语句中的LstLeft.ListCount也变了么,并且X又重新从0开始循环了么?如果不是这样怎么能够顺利地完成上面的目标?(假设我选中了第一和第二个,如果X=0的时候将第一个词语放入了左边,那么原来在第二个的词语的Index就会变为0啊,理论上第二个词语就无法被放在右边了,可是我运行的时候它确实成功了,)
Private Sub Cmd1_Click()
Dim X As Integer
While LstLeft.SelCount > 0
For X = 0 To LstLeft.ListCount - 1
If LstLeft.Selected(X) = True Then
LstRight.AddItem LstLeft.List(X)
LstLeft.RemoveItem X
Exit For
End If
Next X
Wend
End Sub
大虾救命啊,帮我解决下,感恩不尽啊~
我建了两个ListBox(一个是LstLeft,另外一个是LstRight,并且它们的Style都是1)
我还建立了个Cmd1按钮,然后再LstLeft中添加了几个词,下面是一个代码,意思是将选中的词语放于LstRight中,并且将LstLeft中相应词语删除,但是我不明白每当放一个词在右边的时候,左边的LstLeft.ListCount 这个时候For语句中的LstLeft.ListCount也变了么,并且X又重新从0开始循环了么?如果不是这样怎么能够顺利地完成上面的目标?(假设我选中了第一和第二个,如果X=0的时候将第一个词语放入了左边,那么原来在第二个的词语的Index就会变为0啊,理论上第二个词语就无法被放在右边了,可是我运行的时候它确实成功了,)
Private Sub Cmd1_Click()
Dim X As Integer
While LstLeft.SelCount > 0
For X = 0 To LstLeft.ListCount - 1
If LstLeft.Selected(X) = True Then
LstRight.AddItem LstLeft.List(X)
LstLeft.RemoveItem X
Exit For
End If
Next X
Wend
End Sub
很简单,因为你每单击一次左边的就执行此过程,而左列表框是每次都更新的.