我不确定Visual Studio C#windows应用程序中的RichTextBox是怎么回事。这不是一个网络应用程序。
我有一个处理多个文件的过程。在处理过程中,它使用AppendText在RichTextBox中发布进度报告。 (添加内容有换行符,可以保持整洁。)此过程已从一个应用程序迁移到另一个应用程序。新应用程序中的表单是从头开始创建的,带有新的RichTextBox,代码已被复制。
在原始应用中,当消息到达框的底部时,它们开始滚动,因此新的文本行始终可见。在新的应用程序上,它不会滚动(虽然我希望它)所以新消息(包括指示进程完成的最后一个消息)在底部之下是不可见的。我比较了两个程序,我没有看到差异。我不知道如何控制这种行为。影响焦点或刷新行为的过程可能存在差异。
我应该在哪里看?
答案 0 :(得分:3)
richTextBox1.Select(richTextBox1.TextLength, 0); // put caret at end
richTextBox1.ScrollToCaret();
如果您想保留选择,则需要存储SelectionStart
和SelectionLength
并在滚动后恢复选择。
答案 1 :(得分:0)
您可以预先您的消息,以便最新消息始终位于顶部?
rchLog.Text = newMessage + "\n" + rchLog.Text;