【发布时间】:2013-07-17 19:50:49
【问题描述】:
我正在使用 vb.net 中的列表框,并尝试通过单击按钮从列表框中删除不包含特定文本的所有项目。这是我的代码:
Dim i As Integer
For i = 0 To ListBoxPrePublish.Items.Count - 1
If InStr(ListBoxPrePublish.Items(i), "-8-") > 0 = False Then
ListBoxPrePublish.Items.RemoveAt(i)
Exit For
End If
Next
不过,这一次只会删除 1 个项目。如何调整它以一次删除所有不包含“-8-”的项目?
编辑:万一有人问,列表框项目列表变得相当大,所以我添加了一个排序功能,这样用户可以根据需要调整他们的选项。这就是为什么我在添加到列表框之前不过滤任何内容
【问题讨论】:
-
尝试在不同方向循环
For i = ListBoxPrePublish.Items.Count - 1 To 0 Step -1 -
谢谢,但是当我添加到 0 Step -1 时“预期语句结束”
-
你能发布整个代码修改后的代码代码吗? 'Step -1' 是一个有效的 VB.Net 语句。 VB 中的
String也有Contains方法,因此您可以使用If ListBoxPrePublish.Items(i).Contains("-8-") Then进行检查