Bonsoir,
Je débute en C# et bloque un peu sur la gestion d'événements. J'essai pour l'instant de faire un programme très simple pour essayer de comprendre le fonctionnement.
Le but du programme est de faire apparaître une ellipse sur une image contenue dans une pictureBox lorsque je clique sur un bouton. Or, l'ellipse n' apparaît qu'une fois que la souris a quittée le bouton... Pourtant l'événement écouté est bien Click...
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); pictureBox1.Image = Image.FromFile(@"C:\Users\john\Desktop\image1.jpg"); } private void button1_Click(object sender, MouseEventArgs e) { this.Paint += new PaintEventHandler(Form1_Paint); } private void Form1_Paint(object sender, PaintEventArgs e) { Draw(e); } public void Draw( PaintEventArgs e) { Graphics g = pictureBox1.CreateGraphics(); g.DrawEllipse(new Pen(Color.Red), 10, 10, 50, 50); pictureBox1.Refresh(); } } }
Je suis bien conscient que pour arriver à mon objectif, il y a beaucoup plus simple ( comme réaliser le dessin dans la méthode attachée au clic sur bouton) mais je me ronge le cerveau depuis beaucoup de temps pour comprendre ce problème qui vient, je pense, de ma mauvaise compréhension de la gestion des événements...
Merci d'avance à vous, mes lanternes avisées
Partager