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 :

Les icones des treeview!


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Les icones des treeview!
    Voila je suis en train de travailler sur une arborescence modelisé avec un treeview. Les feuilles seront des fichiers de type predefinie.
    Mon probleme et le suivant: à l'initialisation, mon arbre et modeliser uniquement par le noeud racine. lorsque je clique dessus, les noeuds fils apparaissent, jusqu'a là rien d'anormal. En faite je voudrais juste que lorsque je clique sur le noeud racine, l'icone de celui-ci change
    Y a pas, j'ai beau essayé je comprend le mecanisme VB. Je viens de m'y mettre et cela reste obscure pour le moment.
    Je declare une imaglist comme ceci : Dim tvImageList As New ImageList()
    Je la remplis et ensuite je l'affecte a ma treeView
    tvClassement.ImageList = tvImageList

    et ensuite? on fait comment pour lui dire que si je clique sur l'icone il doit changer l'icone? je capte pas trop l'histoire d'index, de key...

    Merci par avance!

  2. #2
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    normalement, l'index ou le key, c'est celui de l'image dans ton imagelist.

    donc si tu n'as qu'une image -> index 0
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  3. #3
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Impeccable, merci pour l'instant ca fonctionne, mais avec encore un petit bug.
    En faite, je deroule un noeud en double cliquant dessus, il me change effectivement l'icone, mais si je le deroule en cliquant que le petit "+" à coté, dans ce cas l'icone ne change pas... c'est pas le même evenement?
    Autre chose, imaginons que je suis en profondeur 2 (au niveau de blu)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    +--+-bla
         |
         +--+-bli
         |   |   
              +-blu
    quand je deroule blu, l'icone de bli revient à la version initiale, il ne garde pas le changement. Alors bon pour le moment je fais remonter le SelectImageIndex au parent recursivement jusqu'a la racine pour bien avoir tous les icones désirés, mais bon, je pense qu'il doit bien y avoir moyen de géré ca autrement non?

    Euh..si j'ai pas été clair dites le moi et j'essais de détailler!
    Merci d'avance! @+

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Dans ce cas essaye alors d'utiliser TreeView.AfterCollapse et TreeView.AfterExpand pour spécifier manuellement les ImageIndex et SelectedImageIndex de tes nodes, en fonction de leur propriété IsExpanded

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Cool, merci beaucoup, ca fonctionne tres bien comme ca!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Private Sub tvClassement_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvClassement.AfterExpand
            Dim profondeur As Integer
            profondeur = e.Node.Level
     
            'si après l'action Expand, le noeud est ouvert alors
            If e.Node.IsExpanded Then
                'on lui affecte l'image 5 = icone dossier ouvert
                e.Node.ImageIndex = 5
                e.Node.SelectedImageIndex = 5
                's'il est à une profondeur > 1 alors on fait de meme avec le noeud pere
                If profondeur > 1 Then
                    e.Node.Parent.ImageIndex = 5
                    e.Node.Parent.SelectedImageIndex = 5
                End If
                'si le noeud n'est pas ouvert on met l'icone fermé (facultatif)
                'Else : e.Node.ImageIndex = 0
            End If

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

Discussions similaires

  1. Changer icones des Treeview
    Par 2nis dans le forum SharePoint
    Réponses: 0
    Dernier message: 28/03/2008, 10h10
  2. Réponses: 12
    Dernier message: 04/09/2007, 13h40
  3. Comment récupérer les icones des URL?
    Par Blo0d4x3 dans le forum Windows
    Réponses: 3
    Dernier message: 26/05/2006, 15h29
  4. Changer les icones des dossiers
    Par Asdorve dans le forum Windows XP
    Réponses: 6
    Dernier message: 12/05/2006, 13h37
  5. Récuperer les icons des JDialog
    Par Pro_Fete dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 17/04/2003, 13h00

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