如何从列表框中删除选定的项目
How to remove selected items from a listbox
这是针对 VS2015 社区中的 VB.NET 4.5 项目。
我正在尝试从列表框中删除某些选定的项目,但前提是选定的项目满足条件。我发现了很多关于如何删除所选项目的示例。但是没有任何东西适用于嵌套在遍历所选项目的循环中的条件(至少,我无法让这些示例与我正在尝试做的事情一起工作......)
这是我的代码:
Dim somecondition As Boolean = True
Dim folder As String
For i As Integer = 0 To lstBoxFoldersBackingUp.SelectedItems.Count - 1
If somecondition = True Then
folder = lstBoxFoldersBackingUp.SelectedItems.Item(i)
Console.WriteLine("folder: " & folder)
lstBoxFoldersBackingUp.SelectedItems.Remove(lstBoxFoldersBackingUp.SelectedItems.Item(i))
End If
Next
控制台输出正确显示了当前迭代项目的文本,但我无法使 Remove() 工作。正如现在的代码一样,我得到了控制台输出,但列表框没有改变。
删除项目会更改项目的索引位置。有很多方法可以解决这个问题,但是从您的代码中,尝试向后迭代以避免该问题。您还应该从 Items 集合中删除该项目,而不是 SelectedItems 集合:
For i As Integer = lstBoxFoldersBackingUp.SelectedItems.Count - 1 To 0 Step -1
If somecondition = True Then
folder = lstBoxFoldersBackingUp.SelectedItems.Item(i)
Console.WriteLine("folder: " & folder)
lstBoxFoldersBackingUp.Items.Remove(lstBoxFoldersBackingUp.SelectedItems(i))
End If
Next
您可以简单地使用它来从列表框中删除选定的项目
ListBox1.Items.Remove(ListBox1.SelectedItem)
希望对您有所帮助。
这行不通:
ListBox1.Items.Remove(ListBox1.SelectedItem)
您需要准确定义要删除的项目,所以下一个对我来说很好:
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
但是每次调用它都会删除一行。
这是针对 VS2015 社区中的 VB.NET 4.5 项目。
我正在尝试从列表框中删除某些选定的项目,但前提是选定的项目满足条件。我发现了很多关于如何删除所选项目的示例。但是没有任何东西适用于嵌套在遍历所选项目的循环中的条件(至少,我无法让这些示例与我正在尝试做的事情一起工作......)
这是我的代码:
Dim somecondition As Boolean = True
Dim folder As String
For i As Integer = 0 To lstBoxFoldersBackingUp.SelectedItems.Count - 1
If somecondition = True Then
folder = lstBoxFoldersBackingUp.SelectedItems.Item(i)
Console.WriteLine("folder: " & folder)
lstBoxFoldersBackingUp.SelectedItems.Remove(lstBoxFoldersBackingUp.SelectedItems.Item(i))
End If
Next
控制台输出正确显示了当前迭代项目的文本,但我无法使 Remove() 工作。正如现在的代码一样,我得到了控制台输出,但列表框没有改变。
删除项目会更改项目的索引位置。有很多方法可以解决这个问题,但是从您的代码中,尝试向后迭代以避免该问题。您还应该从 Items 集合中删除该项目,而不是 SelectedItems 集合:
For i As Integer = lstBoxFoldersBackingUp.SelectedItems.Count - 1 To 0 Step -1
If somecondition = True Then
folder = lstBoxFoldersBackingUp.SelectedItems.Item(i)
Console.WriteLine("folder: " & folder)
lstBoxFoldersBackingUp.Items.Remove(lstBoxFoldersBackingUp.SelectedItems(i))
End If
Next
您可以简单地使用它来从列表框中删除选定的项目 ListBox1.Items.Remove(ListBox1.SelectedItem)
希望对您有所帮助。
这行不通:
ListBox1.Items.Remove(ListBox1.SelectedItem)
您需要准确定义要删除的项目,所以下一个对我来说很好:
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
但是每次调用它都会删除一行。