Je pense avoir compris ton problème.
Tu récupères non pas les coordonnées de la PictureBox définie par Scale, mais la position de la souris dans ta PictureBox ou sur ta Form.
Avant toute chose,
essaye mon exemple ci-dessus. Ca te prendra 10 secondes pour le tester et tu pourras l'appliquer à ton graphique.
J'ai déjà fait un programme comme tu es occupé de le faire (je ne le retrouve plus

), et j'ai d'abord fait ce petit programme qui m'a été fort pratique.
Deuxième chose,
utilise la proprièté Scale de la PictureBox pour définir ton échelle / coordonnées maximales de ce contrôle (différent de la taille réelle de l'objet défini par Size).
Troisième: utilise les propriétés de la souris comme MouseMove qui récupère la position de la souris en la stockant à chaque mouvement de la sousris dans une variable ->
X, Y: Nombre (coordonnées) qui
spécifie la position en cours du pointeur de la souris. Les valeurs
x
et
y sont toujours exprimées en fonction du système de coordonnées
défini par les propriétés
ScaleHeight,
ScaleWidth,
ScaleLeft
et
ScaleTop de l'objet (absX=X et absY=Y par exemple). Puis la propriété Picture Click, qui affiche à l'écran: TextX.text= absX et TextY.text=absY par exemple.
Tu auras tes coordonnées voulues.
ou dans ce troisième cas, tu peux aussi utiliser la détection de bouton directement dans MouseMove.
Private
Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Text1.Text
= X
Text2.Text
= Y
If
(Button And vbLeftButton) Then
Text3.Text = X
Text4.Text = Y
End
If
End Sub