Position curseur sur PictureBox [Résolu]

Signaler
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
-
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
-
Bonsoir,

Je cherche a comprendre pourquoi ce morceau de code ne marche pas:
If PictureBox.Bounds.Contains(e.X, e.Y) Then
     Variable = True
End If


Alors que celui-ci marche correctement:
If Rectangle.Contains(e.X, e.Y) Then
     Variable =  True
End If


Par "marcher" , je sous-entend que la Variable dans la boucle prend la valeur TRUE lorsque le curseur se trouve soit sur la PictureBox ou soit sur le Rectangle.

Pour precision, cette boucle IF THEN ELSE ENDIF se trouve dans l'evenement Form1_MouseMove.

De plus, si je met 2 Labels sur la Form1 avec le code suivant:
Label1.Text  = CStr(e.X)
Label2.Text = CStr(e.Y)


Je peux voir la position de mon curseur quand je bouge la souris sur la Form1 ou a l'interieur du Rectangle, mais la valeur ne change plus lorsque je suis sur la PictureBox.
En posant la question differement, comment puis-je voir/recuperer la position (ou coordonnees X et Y) quand mon curseur se trouve sur la PictureBox?

En esperant avoir exposer mon probleme clairement, merci.

A+
JLuc01

3 réponses


Ou utiliser simplement l'événement MouseMove de ton picturebox

Bonsoir,

Tu peux 'concentrer' tous les événements MouseMove de tous tes contrôles sur la même procédure :
AddHandler Me.MouseMove, AddressOf MM
AddHandler PictureBox1.MouseMove, AddressOf MM
AddHandler ....

Et ensuite lire la position du curseur (ta souris) par rapport à l'écran :
Private Sub MM(ByVal sender As Object, ByVal e As MouseEventArgs)
        Debug.Print(String.Format("position x :{0}  position y :{1}", Cursor.Position.X, Cursor.Position.Y))
End Sub


Une simple transposition position fenêtre par rapport à l'écran te donneront les coordonnées fenêtre.
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
1
Re-bonsoir,

Impeccable! Je comprend mieux mon probleme.
Ce n'etait pourtant pas bien complique. J'aurais du y penser.
Merci encore.

A+
JLuc01