嗨,大家好我想制作一个具有三个按钮(矩形,圆形和线)的“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考虑到您的顾虑,我会更新我的答案。我也对它进行了测试,即使在最小化和再次最大化之后,它也应该正常工作。 –