2015-07-11 1 views
-1

Я пытаюсь добавить 2D-графику в окно окна формы Windows.
Это мой код:2D-графика в форме окна ничего не рисует

private System.Drawing.Graphics g; 

private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Red); 
private System.Drawing.Pen pen2 = new System.Drawing.Pen(Color.Aqua); 

private void Form2_Load(object sender, EventArgs e) 
{ 
    g = pictureBox1.CreateGraphics(); 
    g.DrawEllipse(pen1,348.5f, 348.5f, 3, 3); 
    g.DrawEllipse(pen2, 269.5f, 348.5f, 1, 1); 
} 

Когда я компилирую его, он работает нормально, но это не будет отображать любые графики. Может ли кто-нибудь помочь мне в этом?

+0

ли вы использовать отладчик? Вы видели там что-нибудь интересное? – Amit

ответ

0

Для этого вам необходимо использовать событие pictureBox1_Paint. Кроме того, я думаю, вы изменили положение x, y с шириной и высотой elipse. Вы вряд ли увидите эллипс размером 1x1 или 3x3. Итак, попробуйте пойти с этим:

private void pictureBox1_Paint(object sender, PaintEventArgs e) 
{ 
    var pen1 = new System.Drawing.Pen(Color.Red); 
    var pen2 = new System.Drawing.Pen(Color.Aqua); 
    e.Graphics.DrawEllipse(pen1, 3, 3, 348.5f, 348.5f); 
    e.Graphics.DrawEllipse(pen2, 1, 1, 269.5f, 348.5f); 
} 

Результат:

WinForms drawing

+0

Чтобы добавить это. Это связано с тем, что графический экземпляр является временным и позже перезаписывается. – Bauss

Смежные вопросы