如何在不删除 RichTextBox 中的文本的情况下添加新行并更改 VB.Net 中的颜色?

How do I add a new line without deleting text in a RichTextBox and change it's colour in VB.Net?

反正我好像找不到答案。但我的问题是;

在 visual basic 中,我想做一个叫做问题面板的东西,为了测试它,我正在调试。它使用进度条和计时器。这是到目前为止的一些代码。

        ProgressBar1.Increment(1)
    If ProgressBar1.Value = 1 Then
        RichTextBox1.Text = "A developer debug has been executed, please wait"
    End If

    If ProgressBar1.Value = 3 Then
        RichTextBox1.SelectionStart = RichTextBox1.Text.Length + 1
        RichTextBox1.Text &= "."
    End If

    If ProgressBar1.Value = 5 Then
        RichTextBox1.SelectionStart = RichTextBox1.Text.Length + 1
        RichTextBox1.Text &= "."
    End If

    If ProgressBar1.Value = 7 Then
        RichTextBox1.SelectionStart = RichTextBox1.Text.Length + 1
        RichTextBox1.Text &= "."
    End If

    If ProgressBar1.Value = 10 Then
        RichTextBox1.Text &= Environment.NewLine & "Testing Warnings"
        RichTextBox1.SelectionColor = Color.Yellow
    End If

    If ProgressBar1.Value = 15 Then
        RichTextBox1.SelectionColor = Color.Yellow
        RichTextBox1.Text += Environment.NewLine + "Warning"
    End If

基本上它所做的就是创建一行,添加一个新行并继续输入文本。但我无法添加新行。打印 'Warnings' 并将该文本更改为黄色。但是使用互联网上的所有代码它仍然是白色的?

如果有人能提供帮助,将不胜感激。

如果不清楚让我总结一下:

*打印文本并保持白色。

*打印一个新行,所有内容都保留在 RichTextBox 中。

*文本会说,严重,警告,信息等

*并且它需要更改文本的颜色但不更改所有其他打印文本的颜色。

提前致谢

这是一个可以帮助您的子程序:

Private Sub AppendTextWithColor(rich_text_box As RichTextBox, color As Color, text As String)
    Dim length_before = rich_text_box.TextLength

    rich_text_box.AppendText(text)

    Dim length_after = rich_text_box.TextLength

    rich_text_box.SelectionStart = length_before
    rich_text_box.SelectionLength = length_after - length_before
    rich_text_box.SelectionColor = color
End Sub

它允许您使用特定颜色将一些文本附加到 RichTextBox。

你可以这样使用它:

AppendTextWithColor(RichTextBox1, Color.Yellow, Environment.NewLine + "Warning")

它的工作原理是在附加新文本之前和之后记录 RichTextBox 文本的长度。然后根据记录的长度将 SelectionStartSelectionLength 设置为 select 附加文本。然后它使用 SelectionColor 属性.

更改 selected 文本的颜色