• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.NET フォーム上に描いたグラフィックのクリア方法)

VB.NETでフォーム上に描いたグラフィックを消去する方法

このQ&Aのポイント
  • 最近、VB6からVB.NET 2003へプログラムの移行作業を始めたものです。.NETでフォームに描いたグラフィック(線や円など)を消去する方法を教えてください。
  • VB6でしたらForm**.Cls だけで消えるのですが、VB.NETではClearメソッドを使用するとありますが、うまく動作しません。例えば、以下の簡単な例で消去する方法を教えてください。
  • Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click   ClearScreen(e) End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • kumaken5
  • ベストアンサー率36% (23/63)
回答No.1

お望みのことをするには、Button2のClick時にFormのRefreshメソッドを呼んであげればOKです。そうすれば、フォームが再描画されて描画済みのグラフィックが消去されます。 コードとしてはこんな感じです。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   Dim grph As System.Drawing.Graphics   grph = Me.CreateGraphics   grph.DrawLine(Pens.Red, 50, 25, 200, 150) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click   Refresh() End Sub

mat_mat
質問者

お礼

有難うございました! 確かにうまく行きました。 Clearメソッドは背景色が決められたもの、(そうでなくても吸い上げればよいとは思いますが)に対してはうまく動くようです