c# - 保留最后 N 个项目并从 ListBox 中删除其他项目

标签 c# .net winforms listbox-control

我有一个带列表框的 C# Winform。我正在尝试删除除最后 5 项之外的所有项目。列表框排序设置为升序。

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]);

最佳答案

当列表中的项目超过 n 时,您应该从列表的开头删除项目。
这样您就可以保留 ListBox 的最后 n 项。 :

var n = 5; 
while (listBox1.Items.Count > n)
{
    listBox1.Items.RemoveAt(0);
}

关于c# - 保留最后 N 个项目并从 ListBox 中删除其他项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36253868/

相关文章:

c# - 在 ComboBox 中显示对象属性

c# - .net 和 msn messenger 之间的链接

winforms - 为什么DragDrop在VS2010下不起作用?

c# - 从一组控制台应用程序中干净地杀死一个控制台应用程序

c# - 通过 C# 访问 Azure 中的 keyvault 时引发异常

.net - 使用正则表达式删除重复字符

c# - 捕获数据网格的焦点移出事件

c# - 使用泛型类型 'System.Collections.Generic.List<T>' 需要 '1' 类型参数

c# - 如何在 .Net 2.0 的 sectionGroup applicationSettings 中按名称获取所有部分

c# - WPF 线程和 GUI 如何从不同的线程访问对象?