1
我想将文本追加到RichTextBox
控件,但我不想干扰用户的滚动位置或文本选择。迄今为止我所能做的最好的事情是保存SelectionStart
和SelectionLength
属性,并在追加我的文本后恢复它们。这很接近,但光标最终位于控件的顶部,而不是追加之前的位置。这可能吗?防止RichTextBox自动滚动
我想将文本追加到RichTextBox
控件,但我不想干扰用户的滚动位置或文本选择。迄今为止我所能做的最好的事情是保存SelectionStart
和SelectionLength
属性,并在追加我的文本后恢复它们。这很接近,但光标最终位于控件的顶部,而不是追加之前的位置。这可能吗?防止RichTextBox自动滚动
好吧,这里正是你所需要的:Richtextbox :- controlling scrolling when appending text。
在那里你会发现如何在追加文本时锁定滚动条。
查找CoolColin答案:
诀窍是使用Windows
EM_HIDESELECTION
调用(这是对#hideselection
不同),并且还暂时删除的焦点。
您可以使用RichTextBox
控件的SelectionStart
属性来“获取或设置在文本框中选择的文本的起点”。与您已存储的值进行比较。
看一看RichTextBox Class。最后你需要使用TextBoxBase.ScrollToCaret
方法。
这个答案是大联盟,让我告诉你。 –