Вы создаете PictureBox
и добавляете его в свои элементы управления, но фактически никогда не используете его (вы рисуете изображение вручную в событии Paint
). Зачем? Этот элемент управления, вероятно, скрывает область рисования формы, поскольку любые элементы управления идут поверх всего, что вы рисуете в событии Paint
.
Кроме того, вы получаете объект Graphics
, вызывая CreateGraphics
на PictureBox
, а не на Form
. Это неправильно, так как событие Paint PictureBox
будет запускать после этого кода, стирая все, что вы рисуете.
Я бы порекомендовал изменить код OriginalForm
на следующий:
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.
}
}