【发布时间】:2016-03-27 23:26:03
【问题描述】:
我有一个带有 ListBox 的 C# Winform。我正在尝试删除除最后 5 个项目之外的所有项目。 ListBox 排序设置为升序。
ListBox 中的项目如下所示:
2016-3-1
2016-3-2
2016-3-3
2016-3-4
...
2016-03-28
这是我删除开头项目的代码。
for (int i = 0; i < HomeTeamListBox.Items.Count - 5; i++)
{
try
{
HomeTeamListBox.Items.RemoveAt(i);
}
catch { }
}
我也试过HomeTeamListBox.Items.RemoveAt(HomeTeamListBox.Items[i]);
【问题讨论】:
-
代码正确,有什么问题?
-
@AshkanMobayenKhiabani 代码不正确。它绕过了一些项目。例如,使用此代码将不会删除位于索引 1 的项目。 OP 删除索引 0 处的项目,然后项目上升,之前位于索引 1 的项目现在位于索引 0。因此,当 OP 尝试删除索引 1 处的项目时,他会意外地看到位于索引处的项目2 在开始时,被删除等等。
标签: c# .net winforms listbox-control