タイトル : 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 メソッドの呼び出しが必要です) |