嗨,大家好我想製作一個具有三個按鈕(矩形,圓形和線)的「minipaint」應用程序。我在製作我的buttons
時遇到問題。例如,我有這個矩形類繼承顏色,厚度,startpoints X,Y從形狀:按鈕點擊Windows窗體c#
class rectangle : shape
{
public int length { get; set; }
public int width { get; set; }
public override void Draw(Graphics g)
{
g.DrawRectangle(new Pen(color), new Rectangle(startx, starty, width, length));
}
}
現在我想我rectangle_btn_Click
打印矩形我panel
每當我一下就可以了。這裏是我的panel
代碼:
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = panel1.CreateGraphics();
}
,這是我button
:
private void rectangle_btn_Click(object sender, EventArgs e)
{
rectangle r = new rectangle();
int retval = r.Draw(g);
}
但它有一個錯誤,它不承認g
。我應該如何做這項工作?
不處理=壞。 – Sinatr
此解決方案將修復語法錯誤並繪製矩形,但當重繪時,該矩形將消失。嘗試最小化並再次最大化應用程序(繪製矩形後)以查看我在說什麼。 –
@ krw12572考慮到您的顧慮,我會更新我的答案。我也對它進行了測試,即使在最小化和再次最大化之後,它也應該正常工作。 –