如何将滚动条保持在底部视觉基础

时间:2018-05-08 10:30:27

标签: vba scroll

在我的表单中,我有一个带有垂直滚动条的富文本框。我已将其设置为从本地文本文件中读取一行,并将其添加到文本框中的现有文本中。下面的代码使得从文本文件中读取一行,有3秒的暂停,然后读取另一行并将其添加到现有文本中。这样就可以模拟信使应用程序的感觉,因此3秒的暂停是绝对必要的。

但是,我发现无论何时添加新行并且富文本框中有足够的文本可以显示滚动条,滚动条都会跳到顶部。每个新行都添加到底部,因此这非常烦人,因为这意味着每次添加新行时,用户都会一直发送到文本的顶部。

我能做些什么来防止这种情况发生?即:将滚动条锁定在底部?或者,只要添加了新行,滚动条就会自动向下滚动到底部?

如果您需要任何图片或更多代码,请告知我们。

    Dim i As Integer = 0
    Call Pause(3)
    RichTextBox1.Text = R.ReadLine()
    Do Until i = lineCount
        Call Pause(3)
        RichTextBox1.Text = RichTextBox1.Text + vbCrLf + vbCrLf + R.ReadLine()
        i = i + 1
    Loop

暂停子程序:

Public Sub Pause(ByVal seconds As Single)
    Dim newDate As Date
    newDate = DateAndTime.Now.AddSeconds(seconds)
    While DateAndTime.Now.Second <> newDate.Second
        Application.DoEvents()
    End While
End Sub

1 个答案:

答案 0 :(得分:-1)

在TextChangedEvent之后,您可以尝试将插入符号设置为最后一个帖子,然后使用ScrollToCaret