小菜菜学复选框的问题
小菜菜学复选框的问题
左边复选框: 右边复选框:
武汉大学
华中理工 向右按钮
武汉理工
华中师大
vb教本上是这样写的:
Private Sub Command1_Click()
n = List1.ListCount - 1
i = 0
Do While i <= n
If List1.Selected(i) Then
List2.AddItem List1.List(i)
List1.RemoveItem i
n = n - 1
Else
i = i + 1
End If
Loop
End Sub
以上这段代码是可以的,但是我自己也写了段代码,这段代码怪了,有问题:
Private Sub Command1_Click()
n = List1.ListCount - 1
For i = 0 To n
If List1.Selected(i) = True Then
List2.AddItem List1.List(i)
List1.RemoveItem i
End If
Next
End Sub
请朋友们指点
[解决办法]
没细看
想过去就是遍历列表框的每一项
一般会犯的错误就是,从第一项到最后一项来读
如果有移除某一项,就会出错,因为某一项移除后,这一项后面的项的序号就变了
应该从最后一个遍历到第一个
Private Sub Command1_Click()
n = List1.ListCount - 1
For i = n To 0 step -1
If List1.Selected(i) = True Then
List2.AddItem List1.List(i)
List1.RemoveItem i
End If
Next
End Sub