Bonjour,
Avec ce code :
on remarque bien qu'il y a une fuite mémoire, à chaque fois qu'on clique sur le bouton on charge la bitmap sans jamais la libérer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private void button1_Click(object sender, EventArgs e) { PictureBox pb = new PictureBox(); pb.Image = new Bitmap("c:\\image.jpg"); this.Controls.Add(pb); }
Pour remédier à ce problème, j'ai opté pour cette solution :
Qu'en pensez-vous de cette solution ? existe-t-il une autre solution plus élégante ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private PictureBox pb; private void button1_Click(object sender, EventArgs e) { if (pb != null) pb.Dispose(); pb = new PictureBox(); pb.Image = new Bitmap("c:\\image.jpg"); this.Controls.Add(pb); GC.Collect(); }
Merci
+
Partager