RichTextBox滚动

时间:2010-08-25 14:14:57

标签: c# visual-studio-2005 richtextbox

我不确定Visual Studio C#windows应用程序中的RichTextBox是怎么回事。这不是一个网络应用程序。

我有一个处理多个文件的过程。在处理过程中,它使用AppendText在RichTextBox中发布进度报告。 (添加内容有换行符,可以保持整洁。)此过程已从一个应用程序迁移到另一个应用程序。新应用程序中的表单是从头开始创建的,带有新的RichTextBox,代码已被复制。

在原始应用中,当消息到达框的底部时,它们开始滚动,因此新的文本行始终可见。在新的应用程序上,它不会滚动(虽然我希望它)所以新消息(包括指示进程完成的最后一个消息)在底部之下是不可见的。我比较了两个程序,我没有看到差异。我不知道如何控制这种行为。影响焦点或刷新行为的过程可能存在差异。

我应该在哪里看?

2 个答案:

答案 0 :(得分:3)

richTextBox1.Select(richTextBox1.TextLength, 0); // put caret at end
richTextBox1.ScrollToCaret();

如果您想保留选择,则需要存储SelectionStartSelectionLength并在滚动后恢复选择。

答案 1 :(得分:0)

您可以预先您的消息,以便最新消息始终位于顶部?

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