【问题标题】:Visual Basic Auto Scroll with RichTextBox带有 RichTextBox 的 Visual Basic 自动滚动
【发布时间】:2017-10-28 19:03:46
【问题描述】:

我希望我的 Richtextbox 始终位于底部并“自动滚动”到末尾。 我通过一些谷歌搜索找到了这个:

     Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged
        RichTextBox1.SelectionStart = RichTextBox1.TextLength
        RichTextBox1.ScrollToCaret()

     End Sub

这似乎可行,但是随着文本的更新,它会跳到框的顶部,然后又会跳到底部。有人可以帮我吗?或者有没有更好的方法将文本框保留在末尾?

谢谢, 最大

【问题讨论】:

    标签: vb.net vba visual-studio scroll multiline


    【解决方案1】:

    您的代码可以正常工作 - 我建议解决您最初的问题的方法是稍微修改您的代码并添加

    RichTextBox1.SuspendLayout()
    

    在您的子目录的开头,并且

    RichTextBox1.ResumeLayout()
    

    在最后。

    但是,如果您的光标不在最后一行并且您输入了一些内容,则字符将出现在光标处,然后再移动到文本的末尾。我猜你不希望这种行为 - 在这种情况下,你应该将代码添加到 KeyPress 事件中。

    有几种可能的行为。您希望能够在任何地方输入,还是仅在文本末尾输入?或者只是在某些情况下将光标放在末尾 - 例如,当 RichTextBox 第一次填充一堆文本时?或者是别的什么。

    最简单的解决方案是用户只需按下 Ctrl-End 键。那根本不需要任何代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-22
      • 2010-10-12
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 1970-01-01
      相关资源
      最近更新 更多