强制MultiLine TextBox水平ScrollBar向左

时间:2014-01-13 15:23:38

标签: vb.net textbox scrollbar

我有一个MultiLine TextBox在应用程序运行时会在一段时间内更新,我已设法将其TextBox滚动到底部,确保最新的条目总是显示出来。

但是,有时文字很长并偏离TextBox的一边,所以Horizontal ScrollBar向右滚动。

如何修改下面的代码,使ScrollBar始终在左侧,这意味着行的开头始终可见?请注意,我不想包装文本,因为我不能在多行上有一个条目。感谢。

Private Sub UpdateCurrentProgress(ByVal Text As String)

    If Text = "" Then Exit Sub

    Dim Textbox As TextBox = Me.txtCurrentProgress

    If Textbox.Text <> "" Then Text = vbCrLf & Text

    Textbox.AppendText(Text)
    Textbox.Select(Textbox.TextLength, 0)
    Textbox.ScrollToCaret()

End Sub

2 个答案:

答案 0 :(得分:4)

您可以选择当前行的第一个字符:

Me.TextBox1.Select(Me.TextBox1.GetFirstCharIndexOfCurrentLine(), 0)

答案 1 :(得分:1)

如果我理解你的问题,那么你需要先得到最后一行索引,然后选择该行的第一个字符。

Dim lineNumber = textBox1.Lines.Count()-1
textBox1.Select(textBox1.GetFirstCharIndexFromLine(lineNumber), 0)