永发信息网

VB实时错误381

答案:2  悬赏:40  手机版
解决时间 2021-12-25 14:59
  • 提问者网友:溺爱和你
  • 2021-12-25 06:23
我建立了两个列表框,两个按钮,要的效果是选中左边的项,单击第一个按钮,使得选中的项移动到右边的列表框内,右边的列表框的项是可以复选的,在单击第二个按钮时,使得选择的几个项都移动到左边的列表框内,下面是我的程序:
Private Sub Command1_Click()
If List1.SelCount <> 0 Then
List2.AddItem List1.Text
List1.RemoveItem List1.ListIndex
End If
End Sub

Private Sub Command2_Click()
For i = 0 To List2.ListCount - 1
If List2.Selected(i) Then
List1.AddItem List2.Text
List2.RemoveItem List2.ListIndex
End If
Next i
End Sub

Private Sub Form_Load()
List1.AddItem ("美国")
List1.AddItem ("英国")
List1.AddItem ("日本")
List1.AddItem ("德国")
List2.AddItem ("法国")
List2.AddItem ("意大利")
List2.AddItem ("中国")
End Sub

从左到右很正常,从右到左的时候出问题了,提示"实时错误‘381’,无效属性数组索引",而且被移动过去的只有选中的几个项中间最后选中的那一项,哪位高手帮我解决一下,不胜感激呀
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-12-25 06:41
多选时要移除一定要按顺序从大到小移除,因为在移除前面的选项后会导致后面的选项顺序号减一。
Command2_Click()改为:

For i = List2.ListCount - 1 TO 0 STEP -1
If List2.Selected(i) Then
List1.AddItem List2.Text
List2.RemoveItem List2.ListIndex
End If
Next i
全部回答
  • 1楼网友:风格不统一
  • 2021-12-25 07:21
错误解释: 未找到窗体(错误 424) 窗体未被找到。此错误产生的原因及解决方法如下: 试图用 add 方法向 forms 集合中添加一个窗体,但是却没有该名字的窗体类,例如 forms.add "form2",这里 form2 不存在。 确保工程中的类名字是有效的。 解决方案: form1.backcolor = rgb(fix(rnd * 256), fix(rnd * 256), fix(rnd * 256)) 请检查form1是否存在
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯