Bonjour,
Voilà, j'ai un petit problème avec la façon dont sont gérés les évènements MouseEnter et MouseLeave. Mon but est de faire apparaître un genre de tooltip mais avec certaines particularités. Ce "ToolTip" est une form à part (frmToolTip) qui apparait la où le curseur est.
Tout marche bien sauf en bordure du bouton. frmToolTip se met à "clignoter" passant d'un endroit à l'autre, comme si les deux event étaient lancés l'un après l'autre de manière infinie, comme si en bordure du bouton, c'était considéré comme un Enter et un Leave.
J'ai essayer avec un code ne faisant que changer la couleur du bouton et le problème ne se présente pas...
Merci de votre temps.
La procédure ShowToolTip
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private UnToolTip As New frmToolTip Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter 'Apelle ShowTooltip avec la postion de la souris UnToolTip.ShowToolTip(System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y, "Enter") End Sub Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave 'Le mettre à 0,0 pour les tests UnToolTip.ShowToolTip(0, 0, "Leave") End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Class frmToolTip Friend Sub ShowToolTip(ByVal x As Integer, ByVal y As Integer, ByVal Message As String) Me.Location = New Point(x, y) lblTexte.Text = Message Me.Visible = True End Sub End Class
Partager