忍者ブログ
http://who7s.blog.shinobi.jp/
×

[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
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
サブカテゴリー

[プログラミング]

アルゴリズム
C
Java
VisualBasic
PHP
HTML/CSS

最新コメント
プロフィール
HN:
Juan
性別:
男性
自己紹介:
社会人1年目。
システムエンジニア見習いとなるべく勉強中。
カスタマイズに特化したブラウザ Sleipnir。上級者のために。
Mozilla Firefox ブラウザ無料ダウンロード
カウンター
バーコード
BlogParts

Copyight© who7s All Rights Reserved.
Designed by who7s.
忍者ブログ [PR]