Sélection d'un déssin dans une picturebox VB.net 2008

Signaler
Messages postés
19
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
6 février 2012
-
Messages postés
38
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
4 mai 2011
-
Bonjours à tous et à toutes!
Voilà, j'ais un picturebox,dedans j'y met un petit déssin:
 

Dim NewGraphic
As Graphics = PictureBox1.CreateGraphics()

Dim blackPen
As
New Pen(Color.Black, 1)
NewGraphic.DrawRectangle(blackPen, 100, 100, 40, 20)

NewGraphic.DrawLine(blackPen, 130, 100, 110, 120)

Je peut y créer un rectangle de sélection:

'Les coordonnees utilisees pour dessiner notre rectangle

Private Xstart, Ystart, Xend, Yend
As
Integer

Private
Sub PictureBox1_MouseDown(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.MouseEventArgs)
Handles PictureBox1.MouseDown

'Si click gauche

If e.Button = MouseButtons.Left
Then

'Initialisation des coordonnesXstart = e.X

Ystart = e.Y

Xend = e.X

Yend = e.Y

'Declaration du rectangle

Dim r
As Rectangle

'On dessine le rectangle en utilisant la fonction RectangleToScreen

'qui convertie les coordonnes du rectangle par rapport a l'ecranr = PictureBox1.RectangleToScreen(

New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))

'On dessine un rectangle inversee qui laissera visible l'interieur du rectangleControlPaint.DrawReversibleFrame(r,

Me.BackColor, FrameStyle.Dashed)

End
If

'End If

End
Sub

Private
Sub PictureBox1_MouseMove(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.MouseEventArgs)
Handles PictureBox1.MouseMove

'Quand clique gauche

If e.Button = MouseButtons.Left
Then

'On efface l'ancien rectangle

Dim r
As Rectangle
r = PictureBox1.RectangleToScreen(

New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
ControlPaint.DrawReversibleFrame(r,

Me.BackColor, FrameStyle.Dashed)

'Nouvelles coordonnees de la souris quand on la bougeXend = e.X

Yend = e.Y

'On redessine le rectangle avec les nouvelles coordonnes de la sourisr = PictureBox1.RectangleToScreen(

New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
ControlPaint.DrawReversibleFrame(r,

Me.BackColor, FrameStyle.Dashed)

End
If

End
Sub

Private
Sub PictureBox1_MouseUp(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.MouseEventArgs)
Handles PictureBox1.MouseUp

If e.Button = MouseButtons.Left
Then

'On efface le dernier rectangle

Dim r
As Rectangle
r = PictureBox1.RectangleToScreen(

New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
ControlPaint.DrawReversibleFrame(r,

Me.BackColor, FrameStyle.Dashed)

End
If

End
Sub

Donc Comment faire pour sélectionner ce petit déssin , le déplacer et le mettre ailleur dans ma picturebox?

Merci beaucoup par avance!!!

1 réponse

Messages postés
38
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
4 mai 2011

salut plano

j'ai trouver ton code qui est super pour faire une sélection dans le dessin et j'aimerai faire à peut près la même chose que toi sauf que je veux supprimer le dessin sélectionné donc je voulais savoir si tu avais réussi à déplacer ton dessin

merci d'avance

orzhov