
お世話になります。
フォームにあるラベルに文字を表示し、その文字をスクロールするプログラムを作成しました。
スクロールはできるのですが、スクロールする際に文字がちらついて(早い点滅のような感じ)しまいます。
どのようにすれば、ちらつきを無くすることができますか?
よろしくお願いします。
(VB2008にて作成)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Label1.Text = "文字のスクロール"
'タイマーのインターバルで文字の進む速度が決まります
Timer1.Interval = 5
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim objG As Graphics
objG = Label1.CreateGraphics()
'ここで一旦クリアしないと真っ黒になります
objG.Clear(Label1.BackColor)
'左端を決めて、文字を描画する
objG.DrawString(Label1.Text, Label1.Font, New SolidBrush(Label1.ForeColor), iLeft, 0)
'左端をずらす
iLeft += 1
If iLeft > Label1.Width Then
'右端までいったら戻す
iLeft = 0
End If
objG.Dispose()
End Sub
No.1ベストアンサー
- 回答日時:
背景を塗りつぶしたときに、瞬間的にその色が出るのでちらついているのだと思います。
このようなちらつきは、ダブルバッファリングを用いることで抑えることができます。
1. Labelコントロールと同じサイズのBitmapを用意する。
2. 文字列の描画はBitmapに行う。
3. LabelにBitmapを描画する。
これで、背景の消去とテキストの描画はオフスクリーンで行われるため、画面がちらつかなくなると思います。
(ただ、ここまでするのなら、LabelコントロールではなくPictureBoxでもよさそうな気がしますけども。。。)
回答ありがとうございます。
PictureBoxにて文字のスクロールをしてみようと思うのですが、
具体的にどのようにしたらいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Minecraft 統合版(PC)の描画距...
-
word
-
TextBoxに文字を書いても表示さ...
-
[VB.net] DataGridViewの列ヘッ...
-
画像を重ねて動かすと重くなり...
-
MFC DrawText 背景色とフォント
-
VB6,リストボックスの特定行の...
-
WM_SIZEとWM_SIZINGの違い (Win...
-
GDI+について
-
UpdateData( FALSE); による文...
-
OneNote 2010 文字と描画がずれる
-
Form1 Load で実行されない。
-
Excel 2019 [オプション]の[リボンのユ...
-
PCで「使用可能な場合はグラフ...
-
panelのスクロール表示について
-
最前面に無理やりフォームを持...
-
DirectXでの変数の表示について
-
Visual Studio.Netで株価チャー...
-
win32api 画面のちらつき
-
LineToやMoveToにて描画した線...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Minecraft 統合版(PC)の描画距...
-
[VB.net] DataGridViewの列ヘッ...
-
word
-
TextBoxに文字を書いても表示さ...
-
panelのスクロール表示について
-
google Colabでmatplotlibの描...
-
MFCでOnPaintのタイミング
-
CStaticコントロールの静的イメ...
-
VBAにGDI+を参照させる方法
-
Form1 Load で実行されない。
-
InvalidateRectの使い方について
-
CScrollViewの使用方法について
-
GDI+について
-
VC++プログラムをつかったBMP画...
-
ウインドウサイズを変更しても...
-
VB6,リストボックスの特定行の...
-
タブをオーナードローすると、...
-
ビットマップを表示させる(MFC)
-
UpdateData( FALSE); による文...
-
C++にて、塗りつぶされた円を描...
おすすめ情報