Top >
>
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
標準の描画では、ウィンドウが隠れたりした時、描画されていたものは消えてしまう。
またウィンドウが現れたときのために、再描画を指定しておく必要がある。
ここでは、Paintイベントではなく、ダブルバッファリング(?)を使った例をあげる。
例えば、ボタン(btn1)とピクチャーボックス(pbx1)が配置されているとして、ピクチャーボックスに描画をする場合、次のようなコードになる。
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click Dim g As Graphics = AutoGraphics(pbx1) //描画処理 End Sub Public Function AutoGraphics(ByVal src As PictureBox) As Graphics If src.Image Is Nothing Then src.Image = New Bitmap(src.ClientRectangle.Width, src.ClientRectangle.Height) End If Return Graphics.FromImage(src.Image) End Function
ピクチャーボックスを引数として関数に渡し、その中でImageを生成している。
GraphicsとImageをつなげることで、ダブルバッファリング(?)を行い、再描画することで描画が消えてしまうことを防ぐ。
PR