vb.net – 如何从列表框中删除所选项目
发布时间:2020-12-17 07:18:53 所属栏目:百科 来源:网络整理
导读:这是针对VS2015社区中的VB.NET 4.5项目. 我试图从列表框中删除某些选定的项目,但仅限于所选项目符合条件.我找到了很多关于如何删除所选项目的示例.但是没有任何东西适用于嵌套在循环中通过所选项目的条件(至少,我不能让这些例子与我正在尝试做的事情一起工作
这是针对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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |