VB2008での AutoRedraw
まずは,海外サイトでの一発記述を見つけました.たった1行です.
Me.DoubleBuffered = True
Me というのは,私も良く分かっているわけではありませんが,『現在アクティブなインスタンスを参照するオブジェクト』を指すそうです.間違っているかも.
この指定を書いておくと,例えばこんなコード(宣言などは一部省略)で;
Dim MyPicture As Graphics = PictureBox1.CreateGraphics()
Me.DoubleBuffered = True
For I = 0 To PictureHeight
For II = 0 To PictureWidth
MyPicture.DrawEllipse(Pen, I, II, 1, 1)
Next
Next
(ありゃ...このブログ,半角スペースの行頭が無視されてしまうんですね.HTMLの仕様?)
描画ボックスの中に点が延々と描かれていきます.描画中に他のウィンドウを重ねても,内容が失われることはありません.これはもしかして解決か?
しかし...ウィンドウを最小化すると内容は消え,デスクトップのリフレッシュがかかると描画済みの内容が(一部)消えてしまいます.
これではダメですね...(続く)
2015/02/25 11:50:54