我需要能够将RichTextBox滚动到底部,即使我没有附加文本。我知道我可以附加文字,然后用它来设置选择开始。不过,我想确保它在底部出于视觉原因,所以我不添加任何文本。如何滚动RichTextBox到底部?
68
A
回答
100
您可以尝试将SelectionStart属性设置为文本的长度,然后调用ScrollToCaret方法。
richTextBox.SelectionStart = richTextBox.Text.Length;
richTextBox.ScrollToCaret();
14
在WPF中,你可以使用ScrollToEnd:
richTextBox.AppendText(text);
richTextBox.ScrollToEnd();
+0
以编程方式添加文本时不起作用 – 2013-03-16 07:54:07
-1
没有必要:
richTextBox.SelectionStart = richTextBox.Text.Length;
该做的伎俩:
richTextBox.ScrollToCaret();
16
的RichTextBox
将保持如果已经滚动到最后重点和您使用AppendText
添加信息。如果您将HideSelection
设置为false,它将在失去焦点并保持自动滚动时保持其选择状态。
我设计了一个使用下面方法的Log Viewer GUI。它用完了一个完整的核心。摆脱此代码并将HideSelection
设置为false会将CPU使用率降低至1-2%。
//Don't use this!
richTextBox.AppendText(text);
richTextBox.ScrollToEnd();
0
代码应该写在富文本框的TextChanged事件,如:
private void richTextBox_TextChanged(object sender, EventArgs e) {
richTextBox.SelectionStart = richTextBox.Text.Length;
richTextBox.ScrollToCaret();
}
相关问题
- 1. Silverlight 4 RichTextBox滚动到底部
- 2. 如何解决JTextArea滚动到底部?
- 3. 如何滚动到UICollectionView的底部?
- 4. 如何始终滚动到底部?
- 5. 如何检测滚动到底部
- 6. 如何将ListBox滚动到底部
- 7. 如何滚动到ListBox的底部?
- 8. 如何使Div滚动到底部
- 9. 当滚动条底部滚动到底部
- 10. GTK滚动窗口 - 滚动到底部
- 11. 滚动查看不滚动到底部
- 12. Android ListView滚动到底部
- 13. 滚动到网页底部
- 14. Ultrawingrid滚动到底部
- 15. PullToRefreshListView滚动到底部
- 16. 表 - 滚动到底部
- 17. Tableview不滚动到底部
- 18. 刷新滚动到底部
- 19. 滚动到div底部
- 20. RecyclerView滚动到底部
- 21. 滚动到div的底部
- 22. 滚动到页面底部
- 23. UITableView不滚动到底部
- 24. RecyclerView不滚动到底部
- 25. Logcat滚动到底部
- 26. uitableview不滚动到底部
- 27. UIScrollView不滚动到底部
- 28. 检测滚动到底部
- 29. Android ScrollView滚动到底部
- 30. UITableView.ScrollRectToVisible()不滚动到底部
不是很可靠,我很害怕。您有时会滚动,因此插入符的顶部像素可见。 – gatopeich 2013-03-11 18:05:39
我使用Visual Studio 2013和WPF,但ScrollToCaret()方法对于RichTextBox,任何想法都不存在? – Cyberguille 2015-07-28 20:59:37
@gatopeich - 在文本的末尾添加一个换行符,您应该能够看到所有内容 – 2015-11-11 06:06:42