要更改RichTextBox中线条或单词的颜色吗?

问题描述 投票:3回答:3

我可以在保留richtextbox中的其他颜色的情况下更改一行和/或一个单词的颜色吗?

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

谢谢阅读

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9rV21RUC5qcGcifQ==” alt =“在此处输入图像描述”>

vb.net colors richtextbox richtext
3个回答
5
投票

例如,如果该行包含"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

7
投票

这可能要晚一点,但是您需要做的就是将selectioncolor设置为所需的颜色,然后再将文本附加到richtextbox,然后再恢复为原始颜色,例如

With RichTextBox1
  .SelectionColor = Color.Yellow
  .AppendText("Processing: ")
  .SelectionColor = Color.LimeGreen
  .AppendText("el senor de los anillakos.avi" & vbCr)
End With

0
投票

我意识到这比较老,但是当我需要类似的解决方案时,AltF4_提出的vb.net代码无法正常工作,因此我对其进行了修改,使其可以使用。 ColorForLine函数使您能够运行多个测试并根据所需的内容返回多种颜色。

Private Sub CheckLineColorsOfRichTextBox1()
    Dim i As Integer = 0
    For Each Line As String In RichTextBox1.Lines
        RichTextBox1.Select(RichTextBox1.GetFirstCharIndexFromLine(i), Line.Length)
        RichTextBox1.SelectionColor = ColorForLine(Line)
        i += 1
    Next
End Sub
Private Function ColorForLine(Line As String) As Color
    If Line.Contains("Processing: ") Then
        Return Color.Yellow
    Else
        Return Color.LimeGreen
    End If
End Function
© www.soinside.com 2019 - 2024. All rights reserved.