简要说明:
- 我有一个用 C# 编写的包含一个面板的 win 表单。
- 该面板包含一个形状容器,通过它我以编程方式将 VisualBasic.PowerPacks 中的一些椭圆形和线条形状控件添加到面板中。
- 使用这种形状的原因是我需要对它们的 MouseHover 和 MouseClick 事件执行一些操作。
- 我还在面板的 Paint(object sender, PaintEventArgs e) 方法中使用 Graphics 在面板上绘制了一些图形,例如字符串和椭圆。
- 该应用程序具有放大和缩小按钮,每当用户单击它们时,形状和图形的大小都应该根据比例进行更改。
- 要在缩放后重绘图形,我需要在以新比例绘制新图形之前清除旧图形,否则它们会保留在面板上。所以,我使用了图形的 Clear(Color color) 方法来做到这一点。
现在,我遇到的问题是在使用 Clear(Color color) 时,包括形状控件在内的所有内容都消失了。根据我的看法,我不希望形状会消失,因为它们应该被视为控件,除非我在这里遗漏了一些东西。我怎样才能避免这个问题?任何意见,将不胜感激。