PictureBoxのRefreshが反映されない

解決


.NET勉強中  2005-01-09 01:29:15  No: 118706

初めて質問させていただきます。

PictureBoxへの描画を反映させるためにRefreshを行っているのですが、結果が反映されません。
画面を切り替えると描画されているのでRefreshできていないと考えたのですが、Refreshを行う際に特に何かをする必要があるのでしょうか?
環境はVisualBasic.Netで開発しています。

Formをロードするときに以下の処理を行っております。
bitmapfile = New Bitmap(PictureBox1.Width,PictureBox1.Height)
PictureBox1.Image = bitmapfile
Graphics1 = Graphics.FromImage(PictureBox1.Image)

描画する際に以下の処理を行っています。
PictureBox1.Image = bitmapfile
Graphics1 = Graphics.FromImage(PictureBox1.Image)

'ここで描画処理
'Graphics1.DrawLineやGraphics1.DrawRectangle等を行っています

Graphics1.Dispose()
PictureBox1.Refresh()


じゃんぬねっと  URL  2005-01-11 18:20:13  No: 118707

まず、Graphics1.Dispose() を外して実行してみましょう。(^-^*)


.NET勉強中  2005-01-14 00:11:15  No: 118708

Graphics1.Dispose()を外して実行しましたが、見た目では何も変化がおきませんでした。


ぞうくん  2005-01-15 01:29:50  No: 118709

えーっと、私の環境はVB6.0なのでなんともいえませんが、
私が思うに、pictureBoxのAutoredrawがTrueになっていないとかいうミスだったりはしませんか?
そうしないと、いくら正しくプログラミングされてても反映されないと思うので・・・・・


.NET勉強中  2005-01-15 08:09:41  No: 118710

VB.NETではAutoRedrawプロバティがないようです。(MSDNに書いてありました)

CreateGraphicsを利用する方法も試したのですが、これでも結果は同じでした。
描画するのにPaintイベントを利用する方法もあるみたいですが、これまでやってきた方法と何か変わるのでしょうか?
プログラム的にイベントが使えないと思ったので、使ってないのですが……


Danti  2005-01-15 11:31:48  No: 118711

Refresh を Invalidate にしてみては?


.NET勉強中  2005-01-17 08:22:34  No: 118712

今まで返事を書いてくださった皆様、ありがとうございました。
結論として、今回のところとは関係のないところでプログラムにミスがありました。
お騒がせして本当に申し訳ございませんでした。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加