无法在Picturebox上绘图

时间:2011-02-09 12:30:01

标签: c#

假设我们在表格上有一个图片框:

问题出在哪里?矩形在图片框上消失。为什么呢?

   private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        Graphics gr = pictureBox1.CreateGraphics();
        gr.FillRectangle(Brushes.Red, new Rectangle(10, 10, 50, 50));

    }

1 个答案:

答案 0 :(得分:1)

我查了一下,是的,大家在评论中都提到了这个案例。

问题是你在绘画时没有采用图形,而只是将你的矩形推入图片框中不会渲染的图形。

为了做到正确,你需要使用e.Graphics来获得要绘制的图形的参考。

所以正确的代码是:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    Graphics gr = e.Graphics;
    gr.FillRectangle(Brushes.Red, new Rectangle(10, 10, 50, 50));

}