Position curseur sur PictureBox

Résolu
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 11 janv. 2013 à 21:31
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 11 janv. 2013 à 23:16
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

Utilisateur anonyme
11 janv. 2013 à 22:15
Ou utiliser simplement l'événement MouseMove de ton picturebox
3
Utilisateur anonyme
11 janv. 2013 à 22:06
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.
1
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 1
11 janv. 2013 à 23:16
Re-bonsoir,

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

A+
JLuc01
0
Rejoignez-nous