3
在我的代码中,我有一个带背景图片的PictureBox
。我用它使用在不同类别的Windows窗体中绘制图片框
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Pen p = new Pen(Color.Turquoise, 2);
Rectangle r = new Rectangle(600, 300, 5, 5);
e.Graphics.DrawRectangle(p, r);
p.Dispose();
}
现在在绘制一个矩形,我知道我需要做很多事情与这些矩形,并动态地创建他们,我已经创造了他们的一类,具有构造看像这样:
public MyRectangles(int x, int y)
{
Pen p = new Pen(Color.Turquoise, 2);
Rectangle r = new Rectangle(x, y, 5, 5);
e.Graphics.DrawRectangle(p, r);
p.Dispose();
}
的问题是,在e.Graphics.DrawRectangle(p, r);
的e
这里不存在。这是有道理的,但我明白为什么,但是我不知道要用什么来代替它,以再次绘制相同的图画框。
我应该通过什么确切的G? PictureBox本身? – 2013-03-08 16:55:54
@MarekBuchtela从PictureBox绘画事件中,传递'e.Graphics'。 – LarsTech 2013-03-08 16:57:22
是的,它是我的错,应该在上面的问题中说明了这一点 - 我不会从绘画事件中调用它,但也许在按下按钮之后,所以我不太确定如何获得e.Graphics那里。 – 2013-03-08 16:58:50