我可以删除我绘制的旧矩形并绘制一个新的矩形吗?
private void panel1_MouseClick(object sender, MouseEventArgs e)
{
Graphics g = this.panel1.CreateGraphics();
Pen pen = new Pen(Color.Black, 2);
g.DrawRectangle(pen, 100,100, 100, 200);
g.dispose();
}
Run Code Online (Sandbox Code Playgroud)
不,你不能"删除"已经绘制的东西.你可以用别的东西覆盖它,但用Graphics物体绘画就像在现实生活中画画:一旦油漆干了,你只能用另一种颜色在上面画画,你不能"抹掉"它.
您可能不应该为了响应MouseClick而绘制内容.最好只绘制事物以响应Paint事件.在这种情况下我要做的是Rectangle在MouseClick上的列表中添加一个结构,然后调用panel1.Invalidate()它来要求它重绘自己.然后在Paint面板的情况下,在那里进行绘图.
这将一石二鸟,因为你可以通过简单地从绘制的东西列表中删除它来"擦除"东西.
| 归档时间: |
|
| 查看次数: |
16275 次 |
| 最近记录: |