■88595 |
Re[10]: コントロールを自然に動かすには?? |
□投稿者/ 熊さん -(2018/09/09(Sun) 19:47:15)
|
ありがとうございます。
ただ、【Invalidate】のことがやはりよく理解できませんでした。
Invalidateとは更新予約するもので Refleshは即時に更新するものであることは分かります。
例えば、上でご呈示くださったコードでは
PictureBox1.Bounds = New Rectangle(PictureBox1.Left, y, PictureBox1.Width, h)
'リサイズされたので再描画を依頼 PictureBox1.Invalidate()
リサイズの後に使用しているのはなぜでしょうか?
また、他のサンプルプログラムを見ていても、後に出てくるのがほとんどだと思います。 http://wisdom.sakura.ne.jp/system/msnet/msnet_win21.html https://devlights.hatenablog.com/entry/20080509/p1
Boundsの後にもInvalidateを入れてみたりして、 うまく描画されず、Boundsの前である必要があることは分かるのですが なぜ「今回だけ」前に入れるのかが分かりません。
前に入れる場合と後ろに入れる場合の使い分けについて教えていただけないでしょうか?
例えば、画像を表示したい場合、
With PBox
.Image = img .Invalidate()
End With
Invalidateを .Image = img
の前に入れても後に入れても、同じように動作しますが どちらに入れるのが正しいのでしょうか?
|
|