テキストを追加していないときでも、RichTextBoxを下にスクロールできる必要があります。テキストを追加し、それを使用して選択開始を設定できることを知っています。ただし、視覚的な理由から一番下にあることを確認したいので、テキストを追加していません。
SelectionStartプロパティをテキストの長さに設定してから、ScrollToCaretメソッドを呼び出すことができます。
richTextBox.SelectionStart = richTextBox.Text.Length;
richTextBox.ScrollToCaret();
RichTextBox
にフォーカスがある場合、AppendText
を使用して情報を追加すると、最後までスクロールされたままになります。 HideSelection
をfalseに設定すると、フォーカスを失ったときに選択を保持し、自動スクロールのままになります。
以下の方法を使用するログビューアGUIを設計しました。それは完全なコアまで追いついていました。このコードを削除してHideSelection
をfalseに設定すると、CPU使用率が1〜2%になりました。
//Don't use this!
richTextBox.AppendText(text);
richTextBox.ScrollToEnd();
WPFでは、ScrollToEndを使用できます。
richTextBox.AppendText(text);
richTextBox.ScrollToEnd();
コードは、リッチテキストボックスのTextChangedイベントに次のように記述する必要があります。
private void richTextBox_TextChanged(object sender, EventArgs e) {
richTextBox.SelectionStart = richTextBox.Text.Length;
richTextBox.ScrollToCaret();
}