如何不断滚动到多行文本框中的文本末尾? [复制]

Posted

技术标签:

【中文标题】如何不断滚动到多行文本框中的文本末尾? [复制]【英文标题】:How to constantly scroll to the end of text in multiline text box? [duplicate] 【发布时间】:2012-02-13 13:57:30 【问题描述】:

我正在使用计时器更新我的文本框。每次计时器滴答作响时,我都会被重定向到在多行文本框中键入的文本的开头。

如何做到这一点?

【问题讨论】:

【参考方案1】:

我想说的是,当您刷新时,您可以将选择光标移动到末尾,然后使用 ScrollToCaret 滚动文本框直到它可见。

会是这样的

 yourtextbox.SelectionStart = yourtextbox.Text.Length
 yourtextbox.ScrollToCaret()

【讨论】:

啊!我的代码中缺少您的代码的第一行。谢谢。【参考方案2】:

这效果更好。比 Kotch 的方案要好,因为不需要不断更新光标的位置。

txtDisplay.AppendText(txtDisplay.SelectedText);

【讨论】:

无疑是最简单、最直观的方式,既可以将文本附加到文本框缓冲区,又可以查看最新添加的文本。【参考方案3】:

尝试使用TextBox.Select 方法:

textBox.Select(textBox.Text.Length, 0);

这会将光标设置为刚好超过文本框中的最后一个字符。

【讨论】:

以上是关于如何不断滚动到多行文本框中的文本末尾? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

VB如何把文件内容显示在文本框中?

如何在颤动中自动滚动文本?

Matlab之静态文本多行输出

如何查找文本区域中的文本是不是换行为多行?

如何根据用户表单组合框选择查询单元格中的数据并将数据复制到用户表单文本框中

MFC 在编辑控件框中显示多行文本