Articles in this section
Category / Section

How to create an application to highlight all the lines containing a search string using WinForms SyntaxEditor (EditControl)?

1 min read

Highlight the search text

You could iterate through every line in the EditControl and highlight each line with the search string as shown in the code below.

C#

searchStr = this.textBox1.Text;
IBackgroundFormat format = this.editControl1.RegisterBackColorFormat(ColorTranslator.FromHtml("#FFBF34"), Color.Transparent);
int currentLine = 0;
for (int i=1; i<=this.editControl1.PhysicalLineCount; i++)
{
    ILexemLine line = this.editControl1.GetLine(i);
    foreach (ILexem lexem in line.LineLexems)
    {
       if (lexem.Text == searchStr)
       {
          if ((i != currentLine) || (i==0))
            this.editControl1.SetLineBackColor(i, true, format);
          currentLine = i;
       }
    }
}

 

VB

searchStr = Me.textBox1.Text
Dim format As IBackgroundFormat = Me.editControl1.RegisterBackColorFormat(ColorTranslator.FromHtml("#FFBF34"), Color.Transparent)
Dim currentLine As Integer = 0
Dim i As Integer
For i = 1 To Me.editControl1.PhysicalLineCount
    Dim line As ILexemLine = Me.editControl1.GetLine(i)
    Dim lexem As ILexem
    For Each lexem In line.LineLexems
       If lexem.Text = searchStr Then
          If i <> currentLine OrElse i = 0 Then
            Me.editControl1.SetLineBackColor(i, True, format)
          End If
          currentLine = i
       End If
    Next lexem
Next i

 

Reference link: https://help.syncfusion.com/windowsforms/syntax-editor/text-visualization#line-backcolor

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied