
お世話様です。
VB.NET2003(WinXP Pro)でプログラミングしています。
標記の通り、テキストボックス(マルチライン)の描画がちらつく現象が出ています。
'表示は100行まで
If TB1.Lines.Length >= 100 Then
TB1.Text = TB1.Text.Remove(0, TB1.Text.IndexOf(Lf)+1)
End If
TB1.AppendText(msg)
テキストボックスへの表示は上記のコードを使用しているのですが、
>TB1.Text = TB1.Text.Remove(0,TB1.Text.IndexOf(Lf)+1)
のコードで描画(カレット0)され
>TB1.AppendText(msg)
のコードで描画(テキスト長)される為、ちらついてしまいます。
AppendTextが終るまで一旦描画を止めたりすればちらつかないとは思うのですが、そういったことはできるのでしょうか。
また、他にちらつかない案があれば御教授いただきたく存じます。
宜しくお願いいたします。
※ちなみに最新テキストへの自動スクロールと行数制限は必須です
A 回答 (1件)
- 最新から表示
- 回答順に表示

No.1
- 回答日時:
ループの最中にテキストボックスの text プロパティに設定するのではなく、String 型か StringBuilder 型の変
数にためて、ループ後テキストボックスへ設定すればどうでしょうか?この回答への補足
回答ありがとうございます。
上記を実現するとなると以下のコードになるのですが
Dim buffer As String
'表示は100行まで
If TB1.Lines.Length >= 100 Then
buffer = TB1.Text.Remove(0, TB1.Text.IndexOf(Lf)+1)
End If
TB1.Clear()
TB1.AppendText(buffer)
TB1.Clear()で同じこと(カレット0描画)が起こりちらついてしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[VB.net] DataGridViewの列ヘッ...
-
ウインドウサイズを変更しても...
-
VB6,リストボックスの特定行の...
-
GetGlyphOutline() ご利用経験...
-
画面リサイズ時のちらつきをな...
-
win32api 画面のちらつき
-
MFCのタイマーのつかい方を教え...
-
panelのスクロール表示について
-
領域の塗りつぶし
-
word
-
エディットコントロールを再描...
-
フォトショップの3Dトランス...
-
楕円を描くプログラミング
-
VC++プログラムをつかったBMP画...
-
TextBoxに文字を書いても表示さ...
-
c++ ダブルバッファリング、以...
-
VC++2010(MFC)での描画
-
CStaticコントロールの静的イメ...
-
MFC FormViewの背景色
-
MFCでOnPaintのタイミング
マンスリーランキングこのカテゴリの人気マンスリー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++にて、塗りつぶされた円を描...
おすすめ情報