初学者请教一个课后习题(清华版刘炳文VB程序设计第五章第六小题)
编写程序,演示列表框控件的基本操作。在窗体上建立两个列表框,两个命令按钮,如图5.26所示。程序运行后,在第一个列表框中选择所需要的项目,单击“添加”按钮,可把所选择的项目移到第二个列表框中。如果单击“删除”按钮,则执行相反的操作。在第二个列表框中,允许同时选择多个项目。
如图 http://hiphotos.baidu.com/tomorrow%5Fbetter/abpic/item/50159035bef67a1090ef39c0.jpg
本人是个初学者
编写程序如下。可是运行时总是报运行时错误 '381 '
Option Explicit
Dim m, n, i, j As Integer
Dim temp1, temp2 As String
Private Sub Command1_Click()
If List1.ListCount = 0 Then
End
Else
For i = 0 To m - 1
If List1.Selected(i) Then ' '总是提示这一行有错误,说是索引值超出范围
temp1 = List1.List(i)
List1.RemoveItem i
List2.AddItem temp1
End If
Next i
End If
End Sub
Private Sub Command2_Click()
If List2.ListCount = 0 Then
End
Else
For j = 0 To List2.ListCount - 1
If List2.Selected(j) Then
List1.AddItem List2.List(j)
List2.RemoveItem j
End If
Next j
End If
End Sub
Private Sub Form_Load()
List1.AddItem "日本 "
List1.AddItem "美国 "
List1.AddItem "法国 "
List1.AddItem "英国 "
List1.AddItem "德国 "
List1.AddItem "马来西亚 "
List1.AddItem "中国 "
End Sub
Private Sub List1_Click()
End Sub
///
请问该怎么解决这个问题啊??
非常感谢!!!!
[解决办法]
For i = 0 To m - 1
If List1.Selected(i) Then ' '总是提示这一行有错误,说是索引值超出范围
temp1 = List1.List(i)
List1.RemoveItem i
List2.AddItem temp1
End If
Next i
改成:
For i = 0 To List1.count-1
If List1.Selected(i) Then ' '总是提示这一行有错误,说是索引值超出范围
temp1 = List1.List(i)
List1.RemoveItem i
List2.AddItem temp1
End If
Next i