2012-10-05 13 views
8

RTBが自動的にスクロールするテキストを追加するとどうすればいいですか?RichTextBox C#WinFormsでの自動スクロール

conversationRtb.Rtf = tab.conversationRtb.Rtf; 
conversationRtb.SelectionStart = conversationRtb.Text.Length; 
conversationRtb.ScrollToCaret(); 

をしかし、それはうまく機能していない:

今、私が使用しています。時には終わりにスクロールせず、終わりの1行前にスクロールします。

rtb scroll down bug

時にはそれがオフセットビッグになります。

rtb scroll down bug

私はなぜ見つけることができません。下にスクロールする方法はありますか?私はAutoScrollOffsetを見つけましたが、どのように動作するのか例はありません。

+3

これらの2つの投稿が役に立ちます。代わりに 'User32.dll'を使ってスクロールします。 http://stackoverflow.com/questions/8535102/inconsistent-results-with-richtextbox-scrolltocaret http://www.dutton.me.uk/2011/08/31/richtextbox-scrolltocaret-bug/ – keyboardP

+0

私はむしろuser32.dllを使用しないでください。モノを使用していて、外部ライブラリに問題があります。 – sczdavos

+0

私はちょうど条件を追加しました。 Windowsが@keyboardPソリューションを行う場合は、デフォルトのScrollToCaretを実行します。うまく動作するようです。 – sczdavos

答えて

7

HideSelection value to falseを調整すると、AppendTextが正しいスクロールをトリガーします。

+0

私は試しましたが、私のために働いていませんでした:( – sczdavos

+0

あなたはwinforms ???またはwpf(ScrollToEnd) –

+0

Ohh申し訳ありません、はい私はwinformsを使用しています。 – sczdavos