在我的项目中,我尝试将SelectedItems
ListView
控件(仅限项目而非子项目)添加到ListBox
控件。添加后,ListView
控件的所选项目将被删除。我非常接近,但我认为我在代码中做错了一些事情,在ListView
控件中留下了一个选定的项目。
ListView --> lvEmpDetails
ListBox --> lbxEmpName
我尝试了以下代码:
for (int intCount = 0; intCount < lvEmpDetails.SelectedItems.Count; intCount++)
{
lbxEmpName.Items.Add(lvEmpDetails.SelectedItems[intCount].Text);
lvEmpDetails.SelectedItems[intCount].Remove();
}
请建议。
答案 0 :(得分:2)
不要删除正在迭代它们的同一循环中的项目。将它们添加到列表中,然后删除它们:
var itemsToRemove = new List<ListViewItem>();
for (int intCount = 0; intCount < lvEmpDetails.SelectedItems.Count; intCount++)
{
lbxEmpName.Items.Add(lvEmpDetails.SelectedItems[intCount].Text);
itemsToRemove.Add(lvEmpDetails.SelectedItems[intCount]);
}
foreach (var item in itemsToRemove)
{
item.Remove();
}
答案 1 :(得分:1)
您可以采用其他方式:
for (int intCount = 0; intCount < lvEmpDetails.SelectedItems.Count; intCount++)
{
lbxEmpName.Items.Add(lvEmpDetails.SelectedItems[intCount].Text);
lvEmpDetails.SelectedItems[intCount].Remove();
//Every time remove item, reduce the index
intCount--;
}