Tooltip sur panel [Résolu]

Signaler
Messages postés
38
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
17 août 2008
-
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009
-
Bonjour,

J'ai besoin de conseils pour un projet, je dessine des point sur un panel (je trace des rectangles de 3*3px) et j'aimerais savoir commennt afficher un tooltip lorsque je survole un de ces points.

Je travaille sur .Net 2.0 VB2005

Merci

6 réponses

Messages postés
48
Date d'inscription
lundi 1 août 2005
Statut
Membre
Dernière intervention
10 juillet 2008
1
Je pense plutôt que ce qu'il cherche à faire est de tester si les coordonnées de la souris sont égales à un des points contenus par la collection mais qu'il sait quel évènement utiliser.

Peut être en faisant un For Each (e étant le MouseEventArgs) :
For Each Pt As Point In TaCollection If e.X Pt.X And e.Y Pt.Y Then
   ToolTip1.SetToolTip(Panel, "Texte")
 End If
Next
Mais ça pourrait ramer fortement... faut voir (si quelqu'un a une autre idée...).
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

Salut,
Tu peut pas te débrouiller avec l'evenement MouseMove du panel en recupérant les coordonné de la souris avec  le parametre e.

Ensuite suivant les coordonnées de la souris tu changes le tootip en changer le tooltip



Private



Sub
Panel1_MouseMove(

ByVal
sender

As



Object
,

ByVal
e

As
System.Windows.Forms.MouseEventArgs)

Handles
Panel1.MouseMove




If
e.X < Panel1.Width / 2

Then




'ToolTip1.Show("CouCOu", Panel1)





ToolTip1.SetToolTip(Panel1,




"CouCou"
)


Else






'ToolTip1.Show("Salut", Panel1)

ToolTip1.SetToolTip(Panel1,




"Salut"
)


End



If






End



Sub
Messages postés
38
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
17 août 2008

Oui mais je dois comparer par rapport à  une collection de point et si il y a un point commun, la il affiche un tooltip.
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

je vois pas le probleme. 
Tant qu'il n'y a pas de point commun tu n'affiches pas le tooltip (en mettant la chaine de chara a vide :


ToolTip1.SetToolTip(Panel1, "" ) ) et dès qu'il y a un point commun tu affiches le tooltip.
Messages postés
38
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
17 août 2008

J'ai modifier le code de [auteurdetail.aspx?ID=557790 anthonygego] ainsi:

Private Sub panel1_mousemove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles

Panel1.MouseMove
        'affichage d'un tools tips sur une surface egale à la surface du rectangle de position
        For Each pt As player In players            If e.X (pt.x + 37) And e.Y pt.y + 134 Or e.X = (pt.x + 36) And e.Y = pt.y + 133 Or e.X = (pt.x + 35) And e.Y = pt.y + 132 Or e.X = (pt.x + 34) And e.Y = pt.y + 131 Then
                ToolTip1.SetToolTip(Panel1, pt.nom)
                Exit For
            End If
        Next

    End Sub
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

Toutes mes escuses alors, je n'avais pas bien compirs la question.

bonne prog'