C# 如果存在文本,则高亮显示Richtextbox中的整行

C# 如果存在文本,则高亮显示Richtextbox中的整行,c#,winforms,richtextbox,highlight,C#,Winforms,Richtextbox,Highlight,我试图突出显示RichTextBox中的一行,如图所示 int ptrsize = 10; int* linenum; for (int i = 0; i < ptrsize; i++) { int value = (linenum[i]) * 10; string searchText = value.ToString(); int indexToText = richTextBox.Find(searchText); int en

我试图突出显示RichTextBox中的一行,如图所示

int ptrsize = 10;
int* linenum; 
for (int i = 0; i < ptrsize; i++)
{           
    int value = (linenum[i]) * 10;
    string searchText = value.ToString();
    int indexToText = richTextBox.Find(searchText);
    int endIndex = searchText.Length;
    richTextBox.Select(indexToText, endIndex);
    richTextBox.SelectionColor = Color.Blue;
}
int ptrsize=10;
int*linenum;
对于(int i=0;i
如果存在文本(即2010),我想突出显示整行


2010 19.5 7.37 105 0.67 0.26 0.69

如果给定行包含给定文本,则该行将高亮显示:

void highlightLineContaining(RichTextBox rtb, int line, string search, Color color)
{
    int c0 = rtb.GetFirstCharIndexFromLine(line);
    int c1 = rtb.GetFirstCharIndexFromLine(line+1);
    if (c1 < 0) c1 = rtb.Text.Length;
    rtb.SelectionStart = c0;
    rtb.SelectionLength = c1 - c0;
    if (rtb.SelectedText.Contains(search))
        rtb.SelectionColor = color;
    rtb.SelectionLength = 0;
}

如果给定行包含给定文本,则会高亮显示该行:

void highlightLineContaining(RichTextBox rtb, int line, string search, Color color)
{
    int c0 = rtb.GetFirstCharIndexFromLine(line);
    int c1 = rtb.GetFirstCharIndexFromLine(line+1);
    if (c1 < 0) c1 = rtb.Text.Length;
    rtb.SelectionStart = c0;
    rtb.SelectionLength = c1 - c0;
    if (rtb.SelectedText.Contains(search))
        rtb.SelectionColor = color;
    rtb.SelectionLength = 0;
}

在@TaW代码的帮助下,我对以前的代码做了一些更改

for (int j = 0; j < ptrsize; j++)
{
   int value = (linenum[j]) * 10;
   string searchText = value.ToString();
   for (int i = 0; i < richTextBox.Lines.Count(); i++)
      {
         highlightLineContaining(richTextBox, i, searchText, Color.Red);
      }
}

for(int j=0;j
在@TaW代码的帮助下,我对以前的代码做了一些更改

for (int j = 0; j < ptrsize; j++)
{
   int value = (linenum[j]) * 10;
   string searchText = value.ToString();
   for (int i = 0; i < richTextBox.Lines.Count(); i++)
      {
         highlightLineContaining(richTextBox, i, searchText, Color.Red);
      }
}

for(int j=0;j
这可以帮助您:这可以帮助您: