简单的VB组合框问题

cyuyani 2009-10-14 01:52:25
有两个组合框分别是combo1和combo2在初始化时候combo1中已经有两个项目电视机和冰箱
我想运行时候在combo1中选择一个项目,在combo2中就显示该项目所涵盖的产品
我编写了以下代码在运行的时候总是出错,请大家帮忙看看
Select Case Combo1.ListIndex
Case 0
For i = 0 To Combo2.ListCount - 1
Combo2.RemoveItem i
Next i
Combo2.AddItem "长虹彩电"
Combo2.AddItem "东芝彩电"
Combo2.AddItem "夏普彩电"
Combo2.AddItem "彩虹彩电"
Case 1
For i = 0 To Combo2.ListCount - 1
Combo2.RemoveItem i
Next i
Combo2.AddItem "松下冰箱"
Combo2.AddItem "东芝冰箱"
Combo2.AddItem "夏普冰箱"
Combo2.AddItem "彩虹冰箱"


End Select
程序运行时候当第一次在combo1选中一个项目时候,在combo2中能正确显示出来哪些产品
当第二次在combo1选中项目时,就提示Combo2.RemoveItem i这个语句编译出错
...全文
138 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
king06 2009-10-14
  • 打赏
  • 举报
回复
蛋贴。。。

因为你第一次在combo1选中一个项目时候,没有执行for循环里的内容
第二次选中combo1的时候,每执行一次Combo2.RemoveItem i ,Combo2.ListCount就减小了,而i在变大,显然会越界了.

这样:
Select Case Combo1.ListIndex
Case 0
Combo2.clear
Combo2.AddItem "长虹彩电"
Combo2.AddItem "东芝彩电"
Combo2.AddItem "夏普彩电"
Combo2.AddItem "彩虹彩电"
Case 1
Combo2.clear
Combo2.AddItem "松下冰箱"
Combo2.AddItem "东芝冰箱"
Combo2.AddItem "夏普冰箱"
Combo2.AddItem "彩虹冰箱"
End Select
getemail 2009-10-14
  • 打赏
  • 举报
回复
For i = 0 To Combo2.ListCount - 1
Combo2.RemoveItem i
Next i

可以用Combo2.Clear来代替

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧