Dessiner dans une PictureBox à partir d'un Form [Résolu]

Messages postés
3
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
9 août 2011
- - Dernière réponse : Civispacem
Messages postés
3
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
9 août 2011
- 9 août 2011 à 23:15
Bonjour,

Je souhaiterais dessiner dans une PictureBox en écrivant le code nécessaire dans un Formulaire.
J'ai écris le code ci-dessous, mais le trait rouge ne se dessine dans la PictureBox que si je clique sur Button1.
Je voudrais en fait que le trait se dessine sans que je sois obligé de cliquer sur le Button1.
Merci d'avance de bien vouloir m'aider si c'est possible.
(ps:j'utilise VB 2010 Express)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

PictureBox1.CreateGraphics().DrawLine(Pens.Red, 0, 25, 400, 25)

End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

PictureBox1.CreateGraphics().DrawLine(Pens.Red, 0, 25, 400, 25)

End Sub
End Class
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
3
Merci
Salut
Il faut écrire les fonctions graphiques à l'évenement Paint de ta picturebox
tu peux écrire une sub qui dessine

private sub Testdraw(ByVal gr As System.Drawing.Graphics)
 Dim mypen As New Pen(Color.red, 2)
  'dessine la diagonal de gauche en haut 
  gr.DrawLine(mypen,0,0,pic1.width,pic1.height)
end sub 


et appeller la sub testdraw dans l'évenement
paint de ta picturebox disons pic1

Private Sub Pic1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Pic1.Paint
        Testdraw(e.Graphics)
End Sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_ShayW
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bonjour,
je ne vois rien qui t'en empêcherait !
Il faudra peut-être toutefois éviter de le faire dans l'évènement load (qui est celui du chargement de ton Form, alors qu'il en est à se dessiner lui-même et que ta PictureBox n'est pas encore chargée)


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
3
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
9 août 2011
0
Merci
Merci pour ta réponse,

J'ai essayé de mettre la ligne PictureBox1.CreateGraphics().DrawLine(Pens.Red, 0, 25, 400, 25) dans l'évènement Paint et Got Focus du Form1, mais le trait ne se dessine toujours pas. Je ne comprend pas pourquoi.
Commenter la réponse de Civispacem
Messages postés
3
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
9 août 2011
0
Merci
Merci ShayW,

J'ai essayé le code que tu m'as fournit et il marche très bien. C'est très sympa de m'avoir aidé car j'ai pas mal cherché sur internet pour résoudre ce problème et je n'ai rien trouvé. (Et encore merci également à ucfoutu pour son aide).
Commenter la réponse de Civispacem

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.