Voila j'arrive sans difficulté a zoomé et à déplacer une picturebox dans un Panel mais j'aimerais que lorsque que je déplace ma picture box et qu' après je fais un zoom + j'aimerais que ma picturebox reste centré sur l'endroit ou je me suis déplacé et non sur le centre de ma picturebox.
Voila le code que j'utilisa pour le moment
NB : il est pas de moi je remercie d'ailleur la personne qui la fait
Dans un événement MouseWheel
If e.Delta > 0 Then
je zoome fois 2
zoom = zoom * 1.3
' j'appelle le paint
PictureBox1.Invalidate()
'je centre la picture box
PictureBox1.Left = (Panel1.Width - 1.3 * PictureBox1.Width) / 2 -
je pense que je doit remplacer le 2 mais je c pas par quoi PictureBox1.Top = (Panel1.Height - 1.3 * PictureBox1.Height) / 2
Me.Refresh()
End If
If e.Delta < 0 Then
'je dézoome fois 2
zoom = zoom / 1.3
'j'appelle le paint
PictureBox1.Invalidate()
'je centre la picture box
PictureBox1.Left = (Panel1.Width - PictureBox1.Width / 1.3) / 2
PictureBox1.Top = (Panel1.Height - PictureBox1.Height / 1.3) / 2
Me.Refresh()
End If
End If
Dans un événement move
If e.Button = Windows.Forms.MouseButtons.Right Then
' je mets un cursuer déplacement
PictureBox1.Cursor = Cursors.SizeAll
'je capte les coordonnées souris de l'image en déplacement
X2 = e.X - x1
Y2 = e.Y - y1
'je positionne la picturebox
PictureBox1.Left = PictureBox1.Left + X2
PictureBox1.Top = PictureBox1.Top + Y2
Me.Refresh()
End If
Médéric
Ergonome Logiel
(VB.NET-Débutant)