IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Détecter aucun élément sélectionné dans ListView [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut Détecter aucun élément sélectionné dans ListView
    Bonjour,

    J'ai une Form d'un projet développé avec VB 2012 dans laquelle il y a une ListView qui affiche des images (Propriété View=LargeIcon)
    Lorsque l'utilisateur clique sur 1 des éléments, quelques infos complémentaires s'affichent en bas de la Form.
    Lorsque l'utilisateur clique dans la ListView mais en dehors d'un des éléments, l'élément précédemment sélectionné perd le focus. Je voudrais dans ce cas effacer les informations affichées mais je n'arrive pas.

    L'affichage des informations se déclenche avec l'événement Click de la ListView. Mais j'ai constaté que cet événement ne se déclenche pas si l'utilisateur clique en dehors des éléments de la ListView.
    J'ai essayé ItemSelectionChanged mais je ne trouve pas ça top car si l'utilisateur sélectionne réellement un élément, l'événement est déclenché 2 fois.
    Donc j'aurais besoin de votre aide.

    Dans le même genre, il y a un menu contextuel qui est défini sur la propriété ContextMenuTrip et qui s'affiche même quand aucun élément n'est sélectionné.
    Comment faire pour ne l'afficher que quand un élément est sélectionné ?

    Merci beaucoup.

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Pour ce que tu souhaites faire tu dois bien utiliser le gestionnaire d'évènement ItemSelectionChanged de ton Listview et supprimer le gestionnaire d’événement Click (qui ne sert absolument à rien) !
    Ensuite concernant le ContextMenuStrip que tu as associés à ton Listview, il faut savoir comment est constitué un contrôle ContextMenuStrip :

    Il est constitué de ToolStripMenuItem. Imagines que tu affiches les items suivant à ton ContextMenuStrip : Editer, Supprimer, donc lorsque tu cliqueras droit sur un item de ton listview (dans le gestionnaire d'évènement ItemSelectionChanged) tu devras afficher ou non le ToolStripMenuItem nommé "Editer" ou "Supprimer" indépendamment ou simultanément.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ListView1.fullrowSelect = true
    ListView1.multiselect = false
    ListView1.contextmenustrip = ContextMenuStrip1 '(Il possède 2 ToolStripMenuItem : Editer et Supprimer)
     
    Private Sub ListView1_ItemSelectionChanged(sender As Object, e As Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
                If e.IsSelected Then
                    TsBtnEditer.Enabled = If(e.Item.SubItems(2).Text <> String.Empty, True, False)
                    TsBtnSupprimer.Enabled = If(e.Item.SubItems(2).Text <> String.Empty, True, False)
                Else
                    TsBtnEditer.Enabled = false
                    TsBtnSupprimer.Enabled = false
                End If
        End Sub
    ....Un truc du genre, je viens de pondre ça sans tester mais l'idée globale réside dans cet exemple !

    A+

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    Merci wallace1

    Donc j'avais presque bon
    Je vais adapter à mon projet et je ferais un retour.

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    J'ai adapté le code à mon contexte et ca marche parfaitement.
    Merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/08/2015, 10h46
  2. Rendu de l'élément sélectionné dans une JComboBox
    Par TiChabin972 dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 16/05/2007, 21h34
  3. [Débutant] copier l'élément sélectionner dans une liste
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 29/04/2007, 21h49
  4. Récupérer l'élément sélectionné dans un GtkTree
    Par slasher-fun dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 07/03/2007, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo