C# 清除和重画时PowerPack控件和图形的问题

C# 清除和重画时PowerPack控件和图形的问题,c#,graphics,powerpack,C#,Graphics,Powerpack,简要说明: 我有一个用C#写的赢表,其中包含一个面板 该面板包含一个形状容器,通过该容器,我以编程方式从VisualBasic.PowerPacks向面板添加了一些椭圆形和线形控件 使用这些形状的原因是我需要对它们的MouseHover和MouseClick事件执行一些操作 我还使用面板的graphics in Paint(object sender,PaintEventArgs e)方法在面板上绘制了一些图形,如字符串和椭圆 该应用程序具有放大和缩小按钮,每当用户单击按钮时,形状和图形的大小

简要说明:

  • 我有一个用C#写的赢表,其中包含一个面板
  • 该面板包含一个形状容器,通过该容器,我以编程方式从VisualBasic.PowerPacks向面板添加了一些椭圆形和线形控件
  • 使用这些形状的原因是我需要对它们的MouseHover和MouseClick事件执行一些操作
  • 我还使用面板的graphics in Paint(object sender,PaintEventArgs e)方法在面板上绘制了一些图形,如字符串和椭圆
  • 该应用程序具有放大和缩小按钮,每当用户单击按钮时,形状和图形的大小都应根据比例进行更改
  • 要在缩放后重新绘制图形,我需要在以新比例绘制新图形之前清除旧图形,否则它们将保留在面板上。所以,我使用了清晰(彩色)的图形方法来做到这一点

现在,我的问题是在使用Clear(Color)时,包括形状控件在内的所有内容都消失了。根据我的理解,我不希望形状消失,因为它们应该被视为控件,除非我在这里遗漏了什么。我怎样才能避免这个问题?任何建议都将不胜感激。

通过使“shape.Invalidate()”形状控件无效来解决问题