Articles in this section

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

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)
Access denied
Access denied