VB.NETでちらつきなく描画する方法
VB.NET(ほかの言語でもそうかもしれません)で描画がちらつく事がありますよね。
ダブルバッファが有名ですが、今回は違う方法です。
※「タイマーで消す→描画」の繰り返しでちらつくのに効果があります。
それ以外の時には効果があるかどうかは分かりません。
ーーーここからソースコード
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
'ちらつき防止
Me.SetStyle(ControlStyles.UserPaint, True)
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Paintイベントを発生させる
Me.Refresh()
End Sub
Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
Const iti As Integer = 20
Const Size As Integer = 15
'四角形を描画
e.Graphics.FillRectangle(Brushes.Red, iti, iti, Size, Size)
End Sub
ーーーソースコード終わり
これは、Timer1のTickイベントが発生するたびに
Me.Refresh()でForm1のPaintイベントを発生させる。
というものです。
これでちらつきはなくなったと思います。
追記:これは
AllPaintingInWmPaint、OptimizedDoubleBuffer、UserPaint
を有効にしないとちらつきます。
なのでソースコードに追加しておきました。
開発環境変更のお知らせ
今までVisual Basic 2010 Expressで開発していましたが、これからは
Visual Studio 2012 Express for Desktopで開発します。
これからも宜しくお願いします。
開発テストプログラムも作りました。
連打! ガジェット版 紹介
今回は、僕とそうたさんで共同開発した、「連打! ガジェット版」です。
シンプルでコンパクトになっています。
ソフト画像
仕様的には僕の作った「連打!」と同じです。
これから、「連打!」の期間限定版を開発する予定です。
VB2010Expressで64ビットのソフトを開発する方法
ここに書いてある言語はVBですが、他の言語でも可能かもしれません。
Visual Basic 2010 Expressで、64ビットのソフトを開発する方法です。
1.VBを起動します。
2.「ツール」から「オプション」をクリックします。
3.「プロジェクトおよびソリューション」をクリックします。
4.「ビルド構成の詳細を表示」、「常にソリューションを表示」にチェックを付けます。
5.オプションを閉じた後、ソリューションエクスプローラのソリューションを右クリックします。
6.「構成マネージャー」をクリックします。
7.アクティブ ソリューション プラットフォームのコンボボックスの「<新規作成...」をクリックします。
8.新しいプラットフォームを入力または選択してくださいのコンボボックスの「x64」をクリックします。
9.「OK」をクリックします。
10.「閉じる」をクリックします。
これで64ビットのソフトが開発できます。
32ビットに戻す場合は上の手順の「x64」を「x86」に変えます。
(32ビットに戻す時、同じソリューションでの二回目以降では、手順7で新規作成をクリックする必要はなく、「x86」をクリックして、手順8、9を飛ばします。)