ToolTip & Treeview [Résolu]

Messages postés
89
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
3 décembre 2007
- - Dernière réponse : cs_niky
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Dernière intervention
18 octobre 2008
- 12 juin 2007 à 15:46
Bonjour à tous,

Etant encore débutant, je cherche un moyen de pouvoir faire la même chose que le screenshot ci dessous :

http://img124.imageshack.us/img124/9351/screentu7.png

Quand par exemple le pointeur de la souris passe sur le checkbox "Fichiers d'aide" la description correspondante s'affiche dans un groupBox et non le tooltip d'origine!

Auriez-vous une solution, un exemple à me présenter? Merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Dernière intervention
18 octobre 2008
3
Merci
Salut,

En supposant que tu disposes d'un TreeView nommé "treeView1" et un Label nommé "label1" dans lequel s'affiche la description. Le code suivant devrait te permettre d'arriver à faire ce que tu veux :

       // Dans l'événement MouseMove du TreeView...
        private void treeView1_MouseMove(object sender, MouseEventArgs e)
        {
             // ...On demande au TreeView de nous donner l'élément sous la souris...
            TreeViewHitTestInfo info = this.treeView1.HitTest(e.X, e.Y);
            
            if (info.Node != null) // ... s'il y a un élément sous la souris...
            {
                // ...On affiche sa description dans le label
                this.label1.Text = info.Node.ToolTipText;
            }
            else // ... si la souris ne survole aucun élément...
             {
                // ... on affiche un message par défaut
                this.label1.Text = "Rien à afficher !";
             }
        }

C'est ça ?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_niky
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Dernière intervention
18 octobre 2008
3
Merci
Elle s'ajoute "toute seule" lorsque, dans le concepteur de forms, tu vas dans la fenêtre Propriétés et que tu sélectionnes le bouton Evénements (symbolisé par un éclair).
Sinon, il faut effectivement le faire manuellement.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_niky
Messages postés
89
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
3 décembre 2007
0
Merci
Merci pour ta réponse c'est précisement se que je recherche oui, mais jai un petit soucis, même sans se code le tooltip que j'affecte à un checkbox racine ou enfant dans mon treeView1 ne s'affiche pas une fois le pointeur de la souris dessus, j'ai essayé sur dautres contrôles et la le tooltip marche... Une idée?

D'autre part si le texte de mon tooltip est trop long comment faire pour l'afficher sur deux lignes dans le "label1"? Merci beaucoup!
Commenter la réponse de clubberzZ
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Dernière intervention
18 octobre 2008
0
Merci
Pour que les TreeView (comme les ListView d'ailleurs) affiche le ToolTip de leurs éléments il faut mettre à true la propriété ShowNodeToolTips du TreeView.

Enfin, pour afficher plusieurs lignes dans un Label, il faut mettre à false sa propriété AutoSize. Tu peux alors le redimensionner à une taille suffisamment importante pour contenir n'importe laquelle des descriptions.
Si ça ne suffit pas, tu peux remplacer le Label par une TextBox (les TextBox supportent les barres de défilement).
Commenter la réponse de cs_niky
Messages postés
89
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
3 décembre 2007
0
Merci
Merci beaucoup pour tes renseignements si précieux à ma compréhension!
Après avoir testé si le tooltip marchais sans l'évenement MouseMove (il marche), j'ai remis le code mais rien ne s'affiche dans le label1 et le tooltip apparaîssent toujours sur les checkBox... J'ai bien un treeView1 et un label1 pourtant, j'ai sans doute oublié quelque chose...
Commenter la réponse de clubberzZ
Messages postés
89
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
3 décembre 2007
0
Merci
J'ai moi même trouvé la solution, j'ai du rajouter celle ligne dans la partie "Code généré par le Concepteur Windows Form" dans "treeView1" :

this.treeView1.MouseMove +=
new System.Windows.Forms.
MouseEventHandler(
this.treeView1_MouseMove);

Est-ce normal? Pourquoi cette ligne ne s'ajoute-t-elle pas automatiquement comme les autres controles? Merci
Commenter la réponse de clubberzZ

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.