La propriété ListView winform ne semble pas avoir un moyen facile d'annuler l'événement SelectedIndexChanged. Je ne vois pas non plus un événement SelectedIndexChanging.Annulation de SelectedIndexChanged dans WinForm ListView
Le code est ma tentative. Cependant, la lumière est partie et je me demandais si je devais colorier la sélection ou s'il y avait une meilleure façon d'annuler. _prevSelectedIndex est l'index de la dernière sélection. Je veux que le surlignage revienne à la sélection précédente.
lvSearchResults.SelectedIndexChanged -= new EventHandler(lvSearchResults_SelectedIndexChanged);
lvSearchResults.SelectedIndices.Clear();
lvSearchResults.SelectedIndices.Add(_prevSelectedIndex);
lvSearchResults.Items[_prevSelectedIndex].Selected = true;
lvSearchResults.SelectedIndexChanged += new EventHandler(lvSearchResults_SelectedIndexChanged);
La liste n'a pas de propriété selectedIndex. Lorsque Multiselect est faqlse, la collection SelectedIndices ne devrait en avoir qu'une. Que le multiselect soit éteint ou allumé, le comportement est le même. La façon dont j'ai les gestionnaires (enlever et ajouter) fonctionne bien. Sinon, le hanlder sera dans ... – Abdu
... boucle infinie à cause de l'instruction 'Selected = true'. – Abdu