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

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

如何做到这一点?

【问题讨论】:

    标签: c# winforms textbox


    【解决方案1】:

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

    会是这样的

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

    【讨论】:

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

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

    txtDisplay.AppendText(txtDisplay.SelectedText);
    

    【讨论】:

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

    尝试使用TextBox.Select 方法:

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

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

    【讨论】:

      猜你喜欢
      • 2020-10-09
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多