2010-08-10 3 views
0

Ce code ne fonctionne pas. Il ne déclenche aucune exception et ne fait même rien de visible.Comment supprimer des éléments muItiple d'un ListBox?

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

Comment puis-je supprimer les éléments sélectionnés d'un ListBox?

+0

où et quand RemoveSelectedFiles est-il appelé? – Marko

Répondre

1

Vous devez supprimer un élément à la fois.

EDIT - comme @Smith a, le code soulèverait une exception parce ListBox.SelectedItems est lié à la collection Items. La suppression d'un élément sélectionné de Items le supprimera également de SelectedItems, annulant ainsi l'énumération. Maintenant, nous énumérons une liste indépendante contenant les éléments sélectionnés:

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

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

ce code renvoie une erreur 'Liste que cet énumérateur est lié à a été modifié. Un énumérateur ne peut être utilisé que si la liste ne change pas. » – Smith

+0

Merci de tester cela, @Smith. – Humberto

Questions connexes