从ListView控件向ListBox控件添加项目

时间:2012-10-25 11:11:57

标签: c#

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

请建议。

2 个答案:

答案 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--;   
}
相关问题