y's note

タイトルの通り備忘録なブログ

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

を有効にしないとちらつきます。

なのでソースコードに追加しておきました。

半減期計算 正式版公開

半減期計算の正式版を公開しました。

ダウンロードはメインブログの方からどうぞ。

 

主な更新点

・グラフを見やすくした。

・グラフに「前へ」「次へ」ボタンで広い範囲を見ることができるようにした。

 

メインブログへ

 

ウニ!

連打!の期間限定版のソフトです。

機能の追加と若干の不具合の修正の試作品でもあります。

 

画像

f:id:pwjtn527:20120706210727j:plain

 

コンパクトにしてみました。

バージョン情報にも何かが加わっているそうです。

 

今日から8月26日までの期間限定です。

 

ウニ!をダウンロード

 

 

2012/9/9

遅くなりましたが、公開を終了しました。

 

 

 

連打! ガジェット版 紹介

今回は、僕とそうたさんで共同開発した、「連打! ガジェット版」です。

シンプルでコンパクトになっています。

 

ソフト画像

f:id:pwjtn527:20120623204610p:plain

 

仕様的には僕の作った「連打!」と同じです。

 

ダウンロードページはこちら

 

これから、「連打!」の期間限定版を開発する予定です。

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を飛ばします。)