防止RichTextBox自动滚动

本文关键字:滚动 RichTextBox 防止 | 更新日期: 2023-09-27 18:02:10

我想将文本附加到RichTextBox控件,但我不想干扰用户的滚动位置或文本选择。到目前为止,我所能做的最好的就是保存SelectionStartSelectionLength属性,并在我添加文本后恢复它们。这很接近,但是光标结束在控件的顶部,而不是它在追加之前的位置。这可能吗?

防止RichTextBox自动滚动

这就是你所需要的:Richtextbox:-在附加文本时控制滚动

在这里,您将了解如何在附加文本时锁定滚动条。

查找CoolColin答案:

技巧是使用Windows EM_HIDESELECTION调用(这与# hideselection不同),并且暂时删除焦点。

您可以使用RichTextBox控件的SelectionStart属性来"获取或设置文本框中选定文本的起始点",并使用您已经存储的值。

看看RichTextBox类。最后,您需要使用TextBoxBase.ScrollToCaret方法。