Position curseur sur PictureBox [Résolu]

cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention - 11 janv. 2013 à 21:31 - Dernière réponse : cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention
- 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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Utilisateur anonyme - 11 janv. 2013 à 22:15
3
Merci
Ou utiliser simplement l'événement MouseMove de ton picturebox

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 11 janv. 2013 à 22:06
1
Merci
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.
Commenter la réponse de Utilisateur anonyme
cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention - 11 janv. 2013 à 23:16
0
Merci
Re-bonsoir,

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

A+
JLuc01
Commenter la réponse de cs_JLuc01

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.