我想删除多行listbox,我试过这个
For teller = 0 To 170 Step 1
ListBox1.Items.Remove(teller)
Next
但这不起作用。如何删除列表框中的前170行? :)
答案 0 :(得分:2)
问题在于,当您删除项目时,您的列表会变短,因此您的项目将耗尽。所以,只需删除每个传递的第一条记录:
更新以反映minitech的评论
For teller = 0 To 169
ListBox1.Items.RemoveAt(0)
Next
答案 1 :(得分:2)
由于从列表中删除项目会将其余项目移开,只需多次删除第一项:
For i As Integer = 1 To 170
Me.ListBox1.Items.RemoveAt(0)
Next
您还使用了Remove
而不是RemoveAt
,它通过引用而非索引删除项目。
答案 2 :(得分:1)
试试这个
Dim count as Integer
count = ListBox1.Items.Count ''Or 170
For teller = 1 To count Step 1
ListBox1.Items.RemoveAt(0)
Next
修改强> 正如minitech所说,如果要清除列表或网格或前X个项目的任何其他集合,删除第一个项目总是一个好主意。