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 :

mettre une infobulle sur un noeud en particulier


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 201
    Points : 114
    Points
    114
    Par défaut mettre une infobulle sur un noeud en particulier
    Bonjour, j'ai crée un treeview et je voudrai rajouter une info bulle mais seulement sur un nœud en particulier, j'ai ecrit ce bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      Dim nd As TreeNode
            Dim tooltip1 As New ToolTip
            Try
                Dim pt As New Point(e.X, e.Y)
                nd = TreeView1.GetNodeAt(pt)
                tooltip1.SetToolTip(TreeView1, "blabla")
            Catch
                tooltip1.SetToolTip(TreeView1, "blabla")
            End Try
    Le probleme est que mon infobulle apparait partout quand je passe la souris sur mon treeview

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Regardes bien ton code et tu devrais vite comprendre pourquoi ton tooltip1 est présent sur l'ensemble de ton TreeView1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tooltip1.SetToolTip(TreeView1, "blabla")
    Ici le SetToolTip est comme tu le vois directement affecté au TreeView1


    Juste au dessus tu récupère le noeud si lequel tu pointe,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nd = TreeView1.GetNodeAt(pt)
    mais tu ne l'utilise pas par la suite. C'est sur ce noeud qu'il te faut faire le SetToolTip.


    Il faudrait donc que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tooltip1.SetToolTip(nd, "blabla")

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 201
    Points : 114
    Points
    114
    Par défaut
    Oui merci j'aurai pu le voir plus tôt, mais le probleme c'est qu emon nd est un treenode et il n'est pas consideré comme un control donc le settooltip ne fonctionne pas

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 201
    Points : 114
    Points
    114
    Par défaut
    j'ai essayé ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    nd.tooltiptext = "blabla"
    mais quand je le teste mon infobulle n'apparait pas

  5. #5
    Membre éclairé
    Homme Profil pro
    Technicien bio médical
    Inscrit en
    Décembre 2012
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien bio médical
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 328
    Points : 768
    Points
    768
    Par défaut
    Bonjour,

    Il suffit d'utiliser le bon évènement

    Du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub TreeView1_NodeMouseHover(sender As Object, e As System.Windows.Forms.TreeNodeMouseHoverEventArgs) Handles TreeView1.NodeMouseHover
        If e.Node.Name = "Nœud1" Then
            ToolTip1.SetToolTip(Me.TreeView1, e.Node.ToolTipText)
        Else
            ToolTip1.RemoveAll()
        End If
    End Sub
    Ou encore plus simple, mettre la propriété .ShowNodeToolTips du treeview à True. Pas besoin de code et encore moins de ToolTip

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 201
    Points : 114
    Points
    114
    Par défaut
    Merci bien ca marche bien !!!

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

Discussions similaires

  1. Mettre une infobulle sur un marqueur
    Par 404error dans le forum IGN API Géoportail
    Réponses: 6
    Dernier message: 09/06/2010, 15h40
  2. comment mettre une infobulle image sur une image
    Par nicol dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2008, 18h00
  3. [Info]Comment mettre une servlet sur le web?
    Par fred9510 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 15/08/2004, 16h40
  4. mettre une JScrollBar sur un onglet
    Par thedd dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 02/03/2004, 20h12
  5. [VB6] mettre une image sur un boutton
    Par dim dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/02/2004, 01h28

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