0

私のプロジェクトではSelectedItemsListViewコントロール (サブアイテムではなくアイテムのみ) をコントロールに追加しようとしてい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 に答える