Vous créez un PictureBox
et l'ajouter à vos commandes, mais vous ne jamais utiliser réellement (vous dessinez l'image manuellement en cas Paint
). Pourquoi? Ce contrôle est susceptible d'obscurcir la zone de dessin du formulaire, car tout contrôle s'ajoute à celui que vous dessinez dans l'événement Paint
.
De plus, vous obtenez l'objet Graphics
en appelant CreateGraphics
sur la PictureBox
plutôt que le Form
lui-même. Ceci est faux, car l'événement Paint de PictureBox
déclenchera après le code, effaçant tout ce que vous avez dessiné.
Je recommande de changer votre code OriginalForm
à ce qui suit:
class OriginalImage: Form
{
private Image image;
private PictureBox pb;
public OriginalImage()
{
pb = new PictureBox();
pb.SizeMode = PictureBoxSizeMode.StretchImage;
pb.Dock = DockStyle.Fill; // this will make the PictureBox occupy the
// whole form
Controls.Add(pb);
image = Image.FromFile(@"Image/original.jpg");
this.ClientSize = new Size(image.Width, image.Height); // this allows you to
// size the form while
// accounting for the
// border
this.Text = "Original image";
pb.Image = image; // use this instead of drawing it yourself.
}
}
Toute raison pour laquelle il vous implémentez de formulaire? et pas seulement créer une image et l'ajouter à la forme actuelle? –
On dirait qu'il veut montrer l'image ... sous une nouvelle forme. –