Articles in this section

How to set different background colors for the lines in the WinForms SyntaxEditor (EditControl)?

Background color for the lines

Please refer to the code snippets below for how to set the back color for the entire line and the selected text.

C#

private IBackgroundFormat RegisterFormat()
{
    Color background = Color.Empty, foreground = Color.Empty;
    if(radioButton1.Checked )
       background = radioButton1.BackColor;
    else if(radioButton2.Checked )
       background = radioButton2.BackColor;
    else if(radioButton3.Checked )
       background = radioButton3.BackColor;
    if(radioButton6.Checked )
       foreground = radioButton6.BackColor;
    else if( radioButton5.Checked )
       foreground = radioButton5.BackColor;
    else if( radioButton4.Checked )
       foreground = radioButton4.BackColor;
    bool bUseHatchFille = comboBox1.SelectedIndex > 0;
    HatchStyle style = ( bUseHatchFille )? ( HatchStyle )Enum.Parse( typeof( HatchStyle ),
comboBox1.SelectedItem.ToString() ): HatchStyle.Min;
    IBackgroundFormat format = editControl1.RegisterBackColorFormat( background, foreground, style, bUseHatchFille );
    return format;
}
//code for setting line backcolor for the entire line
private void button1_Click(object sender, System.EventArgs e)
{
    IDynamicFormat[] temp = editControl1.GetLineBackColorFormats( editControl1.CurrentLine );
    IBackgroundFormat format = RegisterFormat();
    editControl1.SetLineBackColor( editControl1.CurrentLine, true, format );
}
private void Form1_Load(object sender, System.EventArgs e)
{
    //comboBox1.Items.Clear();
    comboBox1.Items.Add( "Solid" );
    foreach( string name in Enum.GetNames( typeof( HatchStyle) ) )
    {
        comboBox1.Items.Add(name);
        comboBox1.SelectedText = "Percent05";
        comboBox1.SelectedIndex = 0;
        editControl1.Text += "\n";
        editControl1.CurrentLine = 1;
    }
}
//code to set the backcolor for a selected text
private void button2_Click(object sender, System.EventArgs e)
{
    IBackgroundFormat format = RegisterFormat();
    editControl1.SetSelectionBackColor(format);
}

 

VB

Private Function RegisterFormat() As IBackgroundFormat
    Dim background As Color = Color.Empty, foreground As Color = Color.Empty
    If radioButton1.Checked Then
       background = radioButton1.BackColor
    ElseIf radioButton2.Checked Then
       background = radioButton2.BackColor
    ElseIf radioButton3.Checked Then
       background = radioButton3.BackColor
    End If
    If radioButton6.Checked Then
       foreground = radioButton6.BackColor
    ElseIf radioButton5.Checked Then
       foreground = radioButton5.BackColor
    ElseIf radioButton4.Checked Then
       foreground = radioButton4.BackColor
    End If
    Dim bUseHatchFille As Boolean = comboBox1.SelectedIndex > 0
    Dim style As HatchStyle = If((bUseHatchFille), CType(System.Enum.Parse(GetType(HatchStyle), comboBox1.SelectedItem.ToString()), HatchStyle), HatchStyle.Min)
    Dim format As IBackgroundFormat = editControl1.RegisterBackColorFormat(background, foreground, style, bUseHatchFille)
    Return format
End Function
'code for setting line backcolor for the entire line
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
     Dim temp() As IDynamicFormat = editControl1.GetLineBackColorFormats(editControl1.CurrentLine)
     Dim format As IBackgroundFormat = RegisterFormat()
     editControl1.SetLineBackColor(editControl1.CurrentLine, True, format)
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
     comboBox1.Items.Clear()
     comboBox1.Items.Add("Solid")
     For Each name As String In System.Enum.GetNames(GetType(HatchStyle))
          comboBox1.Items.Add(name)
          comboBox1.SelectedText = "Percent05"
          comboBox1.SelectedIndex = 0
          editControl1.Text += Constants.vbLf
          editControl1.CurrentLine = 1
     Next name
End Sub
'code to set the backcolor for a selected text
Private Sub button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
     Dim format As IBackgroundFormat = RegisterFormat()
     editControl1.SetSelectionBackColor(format)
End Sub

 

Reference link: https://help.syncfusion.com/windowsforms/syntaxeditor/text-visualization#customize-line-number-appearance

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