Accueil > Forum > > > > Forms.ListView, SelectedIndexChanged et clignotement
Forms.ListView, SelectedIndexChanged et clignotement
jeudi 27 avril 2006 à 19:08:34 |
Forms.ListView, SelectedIndexChanged et clignotement

MyXiLo
|
Bonsoir. L'évènement SelectedIndexChanged se déclenche lorsque la sélection dans un ListView change. Le problème est que lorsqu'un Item est déjà selectionné et que l'utilisateur en sélectionne un autre, SelectedIndexChanged est appelé deux fois: d'abord parcequ'aucun élément n'est plus sélectionné (transition) puis quand l'élément de destination est sélectionné. En fonction de la position de l' Item sélectionné dans le ListView je grise( Enabled=false) ou non des boutons. SelectedIndexChanged s'appelant deux fois consécutivement, mes boutons clignotent (je Enabled=false tout quand rien n'est sélectionné puis Enabled=true pour certains boutons lorsqu'il y a un Item dans la sélection), ce qui est véritablement pénible.
J'aimerais savoir si quelqu'un sait comment faire (sans trop chager le code, car je n'ai aucune envie de passer par le controle du clavier et des fleches, etc.) pour détecter lorsque la sélection change véritablement.
Merci d'avance. Thomas.
|
|
jeudi 27 avril 2006 à 19:38:42 |
Re : Forms.ListView, SelectedIndexChanged et clignotement
|
jeudi 27 avril 2006 à 19:46:52 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

Charles Racaud
|
Salut,
Tu peux aussi passer par les événement du clique. (Si on a cliquer sur un item ou non)
private void TaListView_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if (TaListView.GetItemAt(e.X, e.Y) == null) { // On a cliquer a coté d'un item } else { // On a cliquer sur un item // Donc comme un SelectedIndexChanged [...] } }
Kenji
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
|
|
jeudi 27 avril 2006 à 20:36:14 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

MyXiLo
|
Bidou > Et bien c'est ce que je fais, mais lors de la transition (aucun Item n'est selectionné mais un va bientôt l'être) aucun Item n'est dans la sélection, ce qui "fausse" le test puisqu'en vérité un Item est sélectionné mais pas actuellement. C'est ce qui fait clignoter mes boutons.
Charles Racaud > Le soucis c'est que l'utilisateur peut aussi changer la sélection avec les flèches du clavier. Ca m'embete de vérifier le clavier et la souris mais je ne vais pas avoir le choix je crois...
Merci pour vos réponses.
|
|
jeudi 27 avril 2006 à 21:09:07 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

Bidou
|
Hum, je ne vois pas trop le problème! Si par exemple, la condition c'est que le text d'un item commence par le caractère "3" pour disabler certain bouton, on ferait comme ça (et ça ne clignote pas) : if (this.listView1.SelectedItems.Count > 0) { if (this.listView1.SelectedItems[0].Text[0] == '3') { this.button1.Enabled = false; this.button2.Enabled = false; } else { this.button1.Enabled = true; this.button2.Enabled = true; } }
 [Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub] C# forever 
|
|
jeudi 27 avril 2006 à 22:19:36 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

MyXiLo
|
J'ai un ListView contenant plusieurs Items. Un Item est déjà selectionné.L'utilisateur clique sur un autre Item. SelectedIndexChanged se lance et le ListView.Items.Count=0 (car l'Item précédent n'est plus sélectionné et le suivant ne l'est pas encore), je fais mes tests et je définis Button.Enabled=false. SelectedIndexChanged est appelé de nouveau(car l'Item d'arrivée est selectionné, sans intervention supplémentaire du programme ou de l'utilisateur) avec ce coup ci ListView.Items.Count=1, je fais mes tests mais cette fois ci la réaction est Button.Enabled=true.
Avec le changement de sélection mon bouton passe successivement de non autorisé à autorisé, ce qui le fait clignoter.
Ta solution ne fait effectivement pas clignoter les boutons si la fonction qui les contient n'est appelée qu'une fois. En revance si elle est appelé deux fois consécutives et que les réactions sont différentes alors les boutons vont clignoter.
|
|
jeudi 27 avril 2006 à 22:54:49 |
Re : Forms.ListView, SelectedIndexChanged et clignotement
|
vendredi 28 avril 2006 à 10:25:01 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

MyXiLo
|
Bonjour, En vérité j'avais mal lu ton code et effectivement il n'y a pas de clignotement. Pour ce qui est de mon code, je n'effectue pas uniquement le test lorsqu'il y a un Item dans la sélection mais aussi lorsqu'il n'y en a. if (this.ListView.SelectedItems.Count == 1) { if(this.ListView.SelectedItems[0].Index > 0) { this.Button.Enabled=true; } else { this.Button.Enabled=false; } } else { this.Button.Enabled=false; }
Lorsque l'utilisateur clique sur des Items qui ne sont pas en première position il y a clignotement. Désolé de m'être mal expliqué.
|
|
vendredi 28 avril 2006 à 10:30:39 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

Nikoui
|
Bidou, tu rajoute un test "si la premiere lettre est un 3"... mais le problème de l'auteur du post (si j'ai bien compris), c'est que le seul test qu'il veux faire c'est : "un item est sélectionné ?". (autrement dit, execute ton code sur un treeview dont tous les items commencent par 3 pour reproduire le meme probleme avec ton code...).
|
|
vendredi 28 avril 2006 à 11:56:23 |
Re : Forms.ListView, SelectedIndexChanged et clignotement

Bidou
|
Euh, je ne sais pas si je suis bête ou quoi, mais je vois pas le problème lol. Finalement, c'est quoi le but? De disabler un bouton lorsque le premier élément d'un ListView est sélectionné ? Si oui, on fait comme ça (et ça ne clignote pas) : if (this.listView.SelectedItems.Count == 1) { this.button.Enabled = this.listView.SelectedItems[0].Index > 0; }
 [Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub] C# forever 
|
|
Cette discussion est classée dans : listview, sélection, item, sélectionné, selectedindexchanged
Répondre à ce message
Sujets en rapport avec ce message
Sélection automatique d'1 item dans la listView [ par oboudou ]
Bonjour,J'aimmerais sélectionner "par la programmation" un item dans la listView. Ex : J'aimerais que dans ma listeView ma troisieme ligne soit sélect
ListView : Image bleu pendant la sélection d'un item [ par EmacLi ]
Bonjour à tous, J'ai remarqué que lors de la sélection d'un item dans une listview, l'image est aussi sélectionné en bleu. Comportement que n'a appar
Listview et item selectionné [ par renyone ]
Bonjour à tous.J'ai une Listview qu'on va appaler mylistView.Mon code : mylistView.Items[0].Selected = true; (j'ai plusieurs elements dans ma listview
rechercher un item dans une listview [ par killergh ]
Bonjour à tous,Je suis entrain de développer une application de gestion d'une bibliothèque en se basant sur une base de donnés access.Mon bute et d'a
ListView et checkbox, contrainte de sélection [ par vagg ]
Bonjour à tous,J'ai actuellement une ListView en mode Détails !dans cette ListView j'ai plusieurs objets qui sont cochable par des Checkbox, parcontre
récupérer le contenu de l'item sélectionné dans un listview WPF framework 3.5 [ par robertBa ]
Comment récupérer le contenu de l'item séléctionné dans un listview WPF. Listview.SelectedItem n'existe pas.
ajouter un item dans une listview [ par vto59 ]
Voila je voudrai pouvoir ajouter un item dans ma listview via un bouton "ajouter" sur mon formulaire. Pour cela lorsque je clique sur un bouton une zo
listview selection d'item [ par kedric ]
Bonjour a tous, voici mon souci j'ais une listview avec 50 ligne et je voudrais que quand je clique sur un boutons il fasse comme si j'apuyais sur la
Afficher dans une Picturebox un item sélectionné dans un TreeView [ par louve_alpha ]
Bonsoir,J'ai un TreeView qui affiche en tant qu'item des images appartenant à un dossier. Je voudrais afficher dans une PictureBox l'image sélectionné
ListView [ par Bidou ]
Imaginons que j'aie un listview (View Details) qui contient 100 éléments (en colonne donc).Je peux voir seulement les 10 premiers éléments dans le lis
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|