0

簡単に説明すると:

  • パネルを含む C# で記述された win フォームがあります。
  • パネルには形状コンテナーが含まれています。これにより、VisualBasic.PowerPacks からパネルにいくつかの楕円形および線形状のコントロールをプログラムで追加しました。
  • このような形状を使用する理由は、MouseHover および MouseClick イベントでいくつかの操作を実行する必要があったためです。
  • また、パネルの Graphics in Paint(object sender, PaintEventArgs e) メソッドを使用して、パネルに文字列や楕円などのグラフィックを描画しました。
  • アプリケーションにはズームインとズームアウトのボタンがあり、ユーザーがそれらをクリックするたびに、縮尺に基づいて形状とグラフィックのサイズが変更されるはずです。
  • スケーリング後にグラフィックを再描画するには、新しいグラフィックを新しいスケールで描画する前に古いものをクリアする必要がありました。そうしないと、パネルに残りました。そこで、グラフィックの Clear(Color color) メソッドを使用してそうしました。

さて、私が抱えている問題は、Clear(Color color) を使用すると、形状コントロールを含むすべてが消えてしまうことです。私の認識では、ここで何かが欠けていない限り、形状はコントロールとして扱われる必要があるため、形状が消えることはないと思います。この問題を回避するにはどうすればよいですか? アドバイスをいただければ幸いです。

4

1 に答える 1

1

「shape.Invalidate()」シェイプ コントロールを無効にすることで問題を解決しました。

于 2012-04-19T15:15:39.613 に答える