0

在我的项目中,我试图将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();                  
}

请建议。

4

2 回答 2

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();                  
}
于 2012-10-25T11:18:10.217 回答
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--;   
}
于 2012-10-25T11:26:56.707 回答