【发布时间】:2012-07-08 02:33:16
【问题描述】:
我在面板中使用了图形。在程序开始时,我在面板中绘制了一些点,之后我想绘制连接这些点的线。问题是当我按下选项卡按钮时,创建的图形会消失(但这在程序中会发生一次)。下一个问题是我想清除我使用以下代码清除面板的面板:
Panel1.Invalidate();
但这只会清除线条,但不会清除最初创建的那些点。有没有人有一个简单的解决方案,因为我不想重新创建面板。
技术细节:在面板中绘制初始点,使用panel1的绘制事件:
Graphics gfx = e.CreateGraphics()
对于线条,有一个单独的函数在按钮点击时被调用,我使用了这个函数:
Graphics gfx = Panel1.CreateGraphics();
另一个用于清除面板的按钮代码如下:
Panel1.invalidate();
但它只清除线条图形,而不是那些初始点。
【问题讨论】:
-
如果直接使用 Panel.CreateGraphics() 在 Panel 上绘图,则无法轻松清理。您是否考虑过使用 Panel.Paint() 事件?
-
我在 panel1 的绘制事件中绘制点并使用 Graphics gfx = e.CreateGraphics()。对于线条我用户图形 gfx = Panel1.CreateGraphics();并清除面板我使用 Panel1.invalidate();但它只清除线条图形而不是点。