人気ブログランキング | 話題のタグを見る
(VB.Net)RichTextBoxで最下行にスクロールする
したいこと:RichTextBoxをログ等の出力先にして、キャレットがRichTextBoxの最後尾に来るようにしたい。

要は表示データをRichTextBoxに入れたときに、最下部に自動的にスクロールしてほしいわけです。

で、このときはTextBoxBase.ScrollToCaret()が有用です。
For i As Integer = 0 To 100
RichTextBox1.AppendText(i.ToString() & vbNewLine)
RichTextBox1.ScrollToCaret()
Next

注意点ですが、上のソースのように、ループ内で ScrollToCaret() を使うと、処理が非常に遅くなります。
なので、ループの外で ScrollToCaret() したほうがいいのでしょうが、処理の経過をみるためにループ中にスクロールしてほしい時もありますよね。
10行おきに ScrollToCaret() するとかの処理が必要かもしれません。

参考:
RichTextBoxでスクロールが常に下にくるようにするには?
TextBox(またはRichTextBox)の最後の行までスクロールさせる
MSDN TextBoxBase.ScrollToCaret メソッド
by jehoshaphat | 2008-12-20 19:01 | .Net開発


<< (VB.Net)時間用コンボボ... (VB.Net)ハンドルされな... >>