首页 > 解决方案 > 如何将 RichTextBox 滚动到文本末尾?

问题描述

我在表单上有一个 RichTextBox。
我在 Form.Load 事件中向控件添加了一些文本。
当显示窗体时,我希望 RichTextBox 向下滚动到最后一行文本。

我怎样才能做到这一点?

标签: c#winformstextboxscrollbarrichtextbox

解决方案


在 Form.Load 事件处理程序中,将当前插入位置更改为文本的长度,设置TextBoxBase.SelectionStart属性并使用该ScrollToCaret()方法滚动到该位置:

ScrollToCaret()甚至可能不需要(取决于框架版本)。

private void Form1_Load(object sender, EventArgs e)
{
    richTextBox1.SelectionStart = richTextBox1.TextLength;
    // If the controls doesnt' scroll setting SelectionStart, add
    richTextBox1.ScrollToCaret();  
}

推荐阅读