如果我追加一些RTB自动向下滚动的文本,我该怎么做?RichTextBox中的自动滚动C#WinForms
现在我使用的是:
conversationRtb.Rtf = tab.conversationRtb.Rtf;
conversationRtb.SelectionStart = conversationRtb.Text.Length;
conversationRtb.ScrollToCaret();
但都不尽如人意。有时它不会在结束前滚动结束,而只是一行。
有时会产生很大的偏差。
我找不到原因。有没有其他方式向下滚动?我发现AutoScrollOffset
,但没有例子它的工作原理。
这两个帖子可能有帮助。他们使用'User32.dll'来滚动。 http://stackoverflow.com/questions/8535102/inconsistent-results-with-richtextbox-scrolltocaret http://www.dutton.me.uk/2011/08/31/richtextbox-scrolltocaret-bug/ – keyboardP
我宁愿不要使用user32.dll。我正在使用单声道,而且我遇到了外部库的问题。 – sczdavos
好的。我只是添加条件。如果Windows执行@keyboardP解决方案,则执行默认的ScrollToCaret。似乎工作正常。 – sczdavos