ListView Multiselection item clicke != item selectionné

Résolu
julienorion666 Messages postés 38 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 24 juin 2008 - 26 oct. 2007 à 17:04
julienorion666 Messages postés 38 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 24 juin 2008 - 30 oct. 2007 à 13:36
Bonjour,

J'ai une listView en mode detail et en MULTISELECTION.
Je voudrais pouvoir reperer l'item sur le quel je veint de clicker, si j'utilise SelectItems il me renvoi TOUT les elements selectionés et je ne sais pas comment faire la difference avec mon dernier item sélection qui est l'items sur lequel je vient de clicker.

2 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 99
27 oct. 2007 à 22:19
Salut,

Pour savoir quel item a été cliqué en dernier, tu peux passer par ListView.FocusedItem.
Attention, il faut bien faire la distinction entre la sélection et le focus : un item sélectionné n'a pas forcément le focus (ça, tu t'en es apperçu) mais l'inverse est tout aussi vrai.
Tu vas donc devoir traiter avec la propriété Selected de l'item (la propriété Focused t'intéressera peut être aussi, suivant l'évolution de ton code).
Basiquement, si le dernier item cliqué a résulté en une sélection, l'un des items de la collection d'items renvoyée par ListView.SelectedItems aura sa propriété Focused à true. A l'inverses, si le résultat du dernier clic a été une déselection d'item, aucun des items de la liste n'aura sa propriété Focused à false, mais ListView.FocusedItem renvera probablement un item, pas null.

/*
coq
MVP Visual C#
CoqBlog
*/
3
julienorion666 Messages postés 38 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 24 juin 2008
30 oct. 2007 à 13:36
merci , c est simple et ca marche tres bien :)
0