Рисование на pictureBox. Момент загрузки pictureBox

Рейтинг: 2Ответов: 1Опубликовано: 03.05.2015

Есть форма с PictureBox1. и два массива значений, x[i], y[i], соответствующие координатам точек, которые будут образовывать график на PicuteBox. Для рисования графика я использую

graf1->FillEllipse(c, x[i], y[i] , 1, 1);//в цикле 

Если я начинаю рисовать в конструкторе класса, соотвествующий форме с pictureBox1, то ничего не получается (pictureBox1 загружается позже походу, чем конструктор)Пробовал рисовать график используя и другие разные обработчики событий формы и pictureBox1. Собственно как мне сделать так, чтобы график отобразился сразу?

Ответы

▲ 2Принят

Рисуйте на Image, отвязанном от PictureBox. и в конструкторе подставляйте готовое изображение:

public Form1()
{
    // рисовать  желательно еще до создания формы, и передавать Image как параметр конструктора
    Image img = new Bitmap(200, 200);
    using (Graphics g = Graphics.FromImage(img))
    {
        g.DrawEllipse(Pens.Black, 0, 0, 100, 100);
    }

    InitializeComponent();

    pictureBox1.Image = img;
}