0

简要说明:

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

现在,我遇到的问题是在使用 Clear(Color color) 时,包括形状控件在内的所有内容都消失了。根据我的看法,我不希望形状会消失,因为它们应该被视为控件,除非我在这里遗漏了一些东西。我怎样才能避免这个问题?任何意见,将不胜感激。

4

1 回答 1

1

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

于 2012-04-19T15:15:39.613 回答