2010-08-10 91 views
0

此代碼無法使用。它不會引發異常甚至做任何可見的事情。如何從列表框中刪除多個項目?

private void RemoveSelectedFiles() 
{ 
    lstPhotos.Items.Remove(lstPhotos.SelectedItems); 
} 

如何從列表框中刪除所選項目?

+0

Where和When RemoveSelectedFiles get called? – Marko 2010-08-10 01:27:14

回答

1

您必須一次刪除一個項目。

編輯 - 作爲@Smith指出,因爲ListBox.SelectedItems綁定到Items集合代碼將引發異常。從Items中刪除選定的項目也將有效地將其從SelectedItems中刪除,從而打破枚舉。現在我們列舉一個包含所選項目的獨立列表:

private void RemoveSelectedFiles() 
{ 
    var selectedItems = new List<object>(lstPhotos.SelectedItems); 

    foreach (object item in selectedItems) 
     lstPhotos.Items.Remove(item); 
} 
+0

這段代碼拋出一個錯誤,列舉這個枚舉器所綁定的列表已被修改。只有列表不變時,才能使用枚舉器。「# – Smith 2011-12-29 20:05:21

+0

感謝您對此進行測試,@Smith。 – Humberto 2012-01-04 19:36:25