编辑1行时保留richtextbox格式

时间:2016-08-26 01:29:58

标签: vb.net richtextbox

我有一个记录到richtextbox的程序,日志根据错误/事件进行颜色编码。

以下是我使用默认样式向日志添加文本的方法。

rtbLogs.AppendText("Log Text")    

以下是我们在着色时添加文字的方式。

rtbLogs.Select(rtbLogs.TextLength, 0)
rtbLogs.SelectionFont = New Font(rtbLogs.Font, FontStyle.Regular)
rtbLogs.SelectionColor = Color.Red 'Settings the font styles
rtbLogs.AppendText("Error Text")
rtbLogs.SelectionFont = rtbLogs.Font
rtbLogs.SelectionColor = rtbLogs.ForeColor 'reset style to default

现在有时我需要在日志中更新1行,编辑后所有格式都消失了。在编辑了下一个日志后,我添加了格式化我想要的格式,但如果我编辑1行则会再次消失。

以下是我编辑一行的方法。

Dim lines() As String = Me.rtbLogs.Lines
lines(5) = "Updated Text"
Me.rtbLogs.Lines = lines

如何保留格式?

1 个答案:

答案 0 :(得分:1)

也许是这样的

Me.rtbLogs.Rtf = Me.rtbLogs.Rtf.Replace(Me.rtbLogs.Lines(5), "Updated Text")