如何实现在多行文本框中自动滚动到末尾?

9

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

如何解决这个问题?

3个回答

12

我会建议当你刷新时,将选择光标移到结尾,然后使用 ScrollToCaret 滚动文本框以便可见。

代码大概是这样的:

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

啊!我在我的代码中漏掉了你的代码的第一行。谢谢。 - HelpNeeder

12

这个方法效果要好得多。比Kotch的解决方案更好,因为不需要不断更新光标的位置。

txtDisplay.AppendText(txtDisplay.SelectedText);

1
当然,最简单和最直观的方法是将文本附加到文本框缓冲区并保持最新的文本添加在视图中。 - Roland

2

尝试使用TextBox.Select方法:

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

那将把光标设置到文本框中最后一个字符的后面。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接