我可以更改一个文本行和/或一个单词的颜色,同时保留richtextbox中的其他颜色吗?

例如,我想将“Processing:...”行更改为黄色,这可能吗?

谢谢您的阅读

最佳答案

这个有希望的人应该为您解决问题,例如,如果该行包含"Processing..."

    for(int i=0; i<rtb.Lines.Length; i++)
{
   string text = rtb.Lines[i];
   rtb.Select(rtb.GetFirstCharIndexFromLine(i), text.Length);
   rtb.SelectionColor = colorForLine(text);
}

private Color colorForLine(string line)
{
    if(line.Contains("[Processing...]", StringComparison.InvariantCultureIgnoreCase) return Color.Green;

顺便说一句,我知道您说的是vb.net,但是您应该能够使用转换器将代码转换为vb.net
这是一个链接

C# to VB

我不知道这是否正确,但我认为它在vb中看起来像这样
Private Sub Test()
    For Each i As Integer In RichTextBox1.Lines.Length

        Dim Text As String = RichTextBox1.Lines(i)
        RichTextBox1.Select(RichTextBox1.GetFirstCharIndexFromLine(i), Text.Length)
        RichTextBox1.SelectionColor = ColorForLine(Text)
    Next
End Sub

Private Function ColorForLine(Line As String) As color
    If Line.Contains("Processing", ) Then
        Return ColorForLine.Green
    End If
End Function

09-17 14:20