We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to customize the BackColor, ForeColor of TextBoxExt when its Visualstyle is enabled?

Platform: WinForms |
Control: TextBoxExt

The BackColor of the TextBoxExt is customized based on the Visual style appearance. When Visual style is set as Office2007 or Office2010 style in TextBoxExt, the bordercolor and backcolor of the TextBoxExt is specified in source level. So, the default backcolor of the TextBoxExt gets applied when it is lost focus. You can achieve this requirement by creating custom control that is inherited from TextBoxExt and overriding the following events.

1)OnGotFocus

2)OnLostFocus

The following code example demonstrates the same.

C#

class TextBoxAdv: TextBoxExt
{
    protected override void OnLostFocus(EventArgs e)
    {
        //To avoid triggering OnLostFocus method, comment the below line.
        //base.OnLostFocus(e);
    }
    protected override void OnGotFocus(EventArgs e)
    {
        //To avoid triggering OnGotFocus method, comment the below line.
        //base.OnGotFocus(e);
    }
}
//To change the backcolor
void textBoxAdv1_TextChanged(object sender, EventArgs e)
{
    textBoxAdv1.BackColor = textBoxAdv1.Text == textBoxAdv1.Tag.ToString() ? textBoxAdv1.BackColor : Color.Red;
}
//To change the backcolor
void textBoxAdv2_TextChanged(object sender, EventArgs e)
{
    textBoxAdv2.BackColor = textBoxAdv2.Text == textBoxAdv2.Tag.ToString() ? textBoxAdv2.BackColor : Color.Red;
}

VB

Class TextBoxAdv
    Inherits TextBoxExt
    Protected Overrides Sub OnLostFocus(ByVal e As EventArgs)
        'To avoid triggering OnLostFocus method, comment the below line.
        'base.OnLostFocus(e);
    End Sub
    Protected Overrides Sub OnGotFocus(ByVal e As EventArgs)
        'To avoid triggering OnGotFocus method, comment the below line.
        'base.OnGotFocus(e);
    End Sub
End Class
'To change the backcolor
Private Sub textBoxAdv1_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
    textBoxAdv1.BackColor = If(textBoxAdv1.Text = textBoxAdv1.Tag.ToString(), textBoxAdv1.BackColor, Color.Red)
End Sub
'To change the backcolor
Private Sub textBoxAdv2_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
    textBoxAdv2.BackColor = If(textBoxAdv2.Text = textBoxAdv2.Tag.ToString(), textBoxAdv2.BackColor, Color.Red)
End Sub

The following screenshots illustrate the output.

Before overriding the functions

Figure 1: Before overriding the functions

After overriding the functions

Figure 2: After overriding the functions

Sample Links

C#: TextBoxExt_BackColor_C#

VB: TextBoxExt_BackColor_VB

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile