所以这里是我允许我删除列表框中所选项目的代码。
ListBox.SelectedObjectCollection selectedItems = new ListBox.SelectedObjectCollection(lstOutput);
selectedItems = lstOutput.SelectedItems;
if (lstOutput.SelectedIndex != -1)
{
for (int i = selectedItems.Count - 1; i >= 0; i--)
lstOutput.Items.Remove(selectedItems[i]);
}
else
MessageBox.Show("Debe seleccionar un email");
问题是我在顶部有标签显示输出是什么。我还在页面底部有统计信息。代码现在的方式,我能够删除那些我不想要的。我不确定如何防止这些被删除。
答案 0 :(得分:1)
首先不需要火线,你可以将第一行合并到:
ListBox.SelectedObjectCollection selectedItems = lstOutput.SelectedItems;
现在删除您要保留的项目。你可以创造一个条件。
for (int i = selectedItems.Count - 1; i >= 0; i--)
{
if(selectedItems[i] is /*here is where you come and check if the current selected item is of the type you don't want to delete*/)
lstOutput.Items.Remove(selectedItems[i]);
}
如果你告诉我“顶部标签”的类型和“底部的统计数据”的类型,我会把它放在答案中
修改强>
与你所说的相似:
List<object> fixedItems = new List<object>();
fixedItems.Add(/*Your labels and statistics*/);
然后再做
for (int i = selectedItems.Count - 1; i >= 0; i--)
{
if(fixedItems.Contains(selectedItems[i]) == false)
lstOutput.Items.Remove(selectedItems[i]);
}
您需要添加的列表
using System.Collections.Generic;
在页面的开头