DOBON.NET DOBON.NETプログラミング掲示板過去ログ

pictureboxのリフレッシュ

環境/言語:[vista , VB2005 ]
分類:[.NET]

picturebox1のDrawイベントで小さめの絵を決められた座標に決められた大きさで
(たとえば10,10,10,10)描写して、

ボタンダウンイベントで矢印キーを押したときに描写される座標を押した方向に10
移動してpicturebox1_draw(me,nothing)って呼び出して描写させてるんですが、

invalidateだとなぜか一瞬描写された後に全部消えてしまい、
refreshすると押すたびに全体がちかちかしてしまいます。

ちかちかさせないにはどうしたらいいでしょうか。。。
違う方法か改善策を教えてください。
何に困ってるのか書き忘れました。。。
実行すると矢印を押す度にもとの場所と動いた場所両方とも表示されてしまうのです。。。
・Draw イベントというのは標準の PictureBox には存在しないイベントですが、どんなクラスを使用していますか?
・picturebox1_draw(me,nothing) と invalidate/refresh との間にどういう関係があるのでしょうか?
すいません。まだVB初めて1ヶ月でVB6から2005に移行しはじめたばっかりで、、

長くなるのとたぶんほかにもすごい無駄なこといくつかやってると思うんでソースコードを載せます。
http://enjoi.blogdns.net/up/src/570.zip

棒人間の絵を表示させるようにしてるのですが、移動したときに前の場所に表示されてる棒人間を消すようにしたいのです。

そこでinvaridate/refreshで正常に移動したように見せかけようかと思ったのですがrefreshだと全体がチカチカしてしまって使えません。

グラフィック関係のを少し使えるようにししたいと思い作り始めて、簡単なゲームにしようかと思ってます。

よろしくおねがいします。
> 長くなるのとたぶんほかにもすごい無駄なこといくつかやってると思うんでソースコードを載せます。
> http://enjoi.blogdns.net/up/src/570.zip

拝見させていただきましたが、肝心なファイルが入っていませんでした。

> そこでinvaridate/refreshで正常に移動したように見せかけようかと思ったのですがrefreshだと全体がチカチカしてしまって使えません。

ループでまわしているのではないでしょうか?もしそうであれば、タイマーを使ってみてください。

DOBON.NET | プログラミング道 | プログラミング掲示板