RichTextBox scroll - PullRequest
       11

RichTextBox scroll

1 голос
/ 25 августа 2010

Я не уверен, что происходит с RichTextBox в приложении Windows Visual Studio C #.Это не веб-приложение.

У меня есть процедура, которая обрабатывает несколько файлов.Во время обработки он публикует отчеты о прогрессе в RichTextBox с использованием AppendText.(У дополнений есть символы новой строки, которые поддерживают порядок). Эта процедура была перенесена из одного приложения в другое.Форма в новом приложении была создана с нуля с новым RichTextBox, и код был скопирован.

В исходном приложении, когда сообщения достигают нижней части окна, они начинают прокручиваться, поэтому новая строкатекста всегда видно.В новом приложении оно не прокручивается (хотя я этого и хочу), поэтому новые сообщения (включая последнее, указывающее, что процесс завершен) не видны ниже дна.Я сравнил две программы и не вижу разницы.Я не вижу, как это поведение будет контролироваться.Вполне возможно, что есть разница в процедуре, которая влияет на фокусировку, поведение при обновлении и т. Д.

Куда мне обратиться?

Ответы [ 2 ]

3 голосов
/ 25 августа 2010
richTextBox1.Select(richTextBox1.TextLength, 0); // put caret at end
richTextBox1.ScrollToCaret();

, если вы хотите сохранить выделение, вам нужно сохранить SelectionStart и SelectionLength и восстановить выделение после прокрутки.

0 голосов
/ 25 августа 2010

Вы можете просто добавить своих сообщений так, чтобы самое новое сообщение всегда было вверху?

rchLog.Text = newMessage + "\n" + rchLog.Text;
...