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