请问关于LISTBOX列表框的问题?

to_pty 2004-08-02 11:31:49
有这么一道题,现有一个列表框,其中里面有五项内容,还有一个按钮,在列表框中选择N项后,点击按钮,列表框中被选中的项就被删除,剩下未选中的内容。
这应该怎么写代码呢?我想了好一会都没有做出来,请这里的高手帮忙写出代码,谢谢!
...全文
167 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-08-03
  • 打赏
  • 举报
回复
i的下限大于上限导致错误,试试就知道了:
Private Sub Command1_Click()
On Error Resume Next
Dim i As Integer
For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then List1.RemoveItem i: MsgBox "i=" & i & vbCrLf & "list1.listcount-1=" & List1.ListCount - 1
Next
End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 1 To 5
List1.AddItem String(5, Chr(i + 64))
Next
End Sub

所以,忽略错误也可以:

Private Sub Form_Load()
Dim i As Integer
For i = 1 To 5
List1.AddItem String(5, Chr(i + 64))
Next
End Sub
Private Sub Command1_Click()
On Error Resume Next
Dim i As Integer
For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then List1.RemoveItem i
Next
End Sub
to_pty 2004-08-02
  • 打赏
  • 举报
回复
我用:
Private Sub Command1_Click()
'For i = List1.ListCount - 1 To 0 Step -1
For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then List1.RemoveItem i
Next
End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 1 To 5
List1.AddItem String(5, Chr(i + 64))
Next
End Sub

这样就会出错,请问这是为什么,我感觉我这里有些比较重要的东西没有搞明白。
SafeF8 2004-08-02
  • 打赏
  • 举报
回复
严重同意楼上!
northwolves 2004-08-02
  • 打赏
  • 举报
回复
list1 的multiselect 设为 1
northwolves 2004-08-02
  • 打赏
  • 举报
回复

Private Sub Command1_Click()
For i = List1.ListCount - 1 To 0 Step -1
If List1.Selected(i) Then List1.RemoveItem i
Next
End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 1 To 5
List1.AddItem String(5, Chr(i + 64))
Next
End Sub

7,763

社区成员

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

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