防止RichTextBox自动滚动

时间:2011-07-14 15:17:30

标签: c# .net winforms .net-2.0 richtextbox

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

1 个答案:

答案 0 :(得分:2)

好的,这正是您所需要的:Richtextbox :- controlling scrolling when appending text

在附加文本时,您将找到如何锁定滚动。

寻找CoolColin的答案:

  

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

您可以使用SelectionStart控件的RichTextBox属性“获取或设置文本框中所选文本的起点。”使用您已存储的值。

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