从RichTextBox读取最后一行(最新)

时间:2013-09-06 19:27:32

标签: .net vb.net

我的项目中有一个RichTextBox;我在上面读到了作品的流程 以下代码我用于此建议

Public Shared Sub FlowBox(ByVal Text As String, ByVal sender As Object, ByVal e As System.EventArgs)
        Dim FlowText As String = ""
        Dim FlowTextBox As RichTextBox = New RichTextBox
        TableCreation.FlowMonitorRTB.ForeColor = Drawing.Color.DarkBlue
        FlowTextBox = TableCreation.FlowMonitorRTB
        FlowText = Text
        TableCreation.FlowMonitorRTB.Visible = True
        FlowTextBox.Text += FlowText & vbNewLine
        TableCreation.FlowMonitorRTB.Show()
        TableCreation.FlowMonitorRTB.Refresh()
    End Sub

一切顺利(如果我可以这么说),除了我总是读第一行而不是最后一行 我想要的是每次写完最后一行 我怎样才能做到这一点?

我在代码中做了一些更改; p.campbell建议我

Public Shared Sub FlowBox(ByVal Text As String, ByVal sender As Object, ByVal e As System.EventArgs)
         With TableCreation.FlowMonitorRTB
            .Text += Text & vbNewLine
            .ForeColor = Drawing.Color.DarkBlue
        End With
    End Sub

但我仍然看到文本中的第一行播放> FlowBox<而不是最后一个 对于那个对我的问题进行投票的人来说: “在你做生活中的任何事情之前......两次事情......再一次这样的事情......可能你会产生误解”

1 个答案:

答案 0 :(得分:1)

检查FlowTextBox.MultiLine是否设置为True,并确定其大小适合显示多行文字。

在此行设置断点时,Text是否保留了您期望的值?

FlowText = Text

也许重构一下你的方法来删除一些冗余并提供一些清晰度?

Public Shared Sub FlowBox(ByVal Text As String, ByVal sender As Object, ByVal e As System.EventArgs)

   With TableCreation.FlowMonitorRTB
      .Text += Text & vbNewLine
      .ForeColor = Drawing.Color.DarkBlue
      .Visible = True
      .Show()
      .Refresh()
   End With

End Sub