tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: form_load
投稿日: 2007/07/30(Mon) 01:37
投稿者魔界の仮面弁士
そのようにして描画された内容は、他のウィンドウが重なったり、
ウィンドウが最小化されたりすれば、容易に消えてしまうものです。

Load 処理中は通常、フォームすら表示されていないので、PictureBox も
表示されておらず、結果として、描画された結果も消えてしまっていたのです。
一方、Button1_Click 時は表示されていたので、結果も見る事ができたのでしょう。

消さずに残したいのなら、PictureBox から Graphics を得て、そこに直接描画するのでは
なく、Dim bmp As New Bitmap(〜) から得た Graphics に描画して、その Bitmap を
PictureBox に割り当てるようにすれば、そのまま消えずに残すことができますよ。


> Dim g As Graphics = PictureBox1.CreateGraphicsを宣言し
これも少々マズイです。

CreateGraphics を使うにしても、Graphics.FromImage を使うにしても、
 Using g As Graphics = 〜〜〜
  'ここに描画処理を記述
 End Using
のように Using ステートメントを用いて、描画処理後には、作成した Graphics クラスが
即時解放されるようにしておく必要があります。
(もし、Using を使わないのであれば、かわりに Dispose メソッドの呼び出しが必要です)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。