Vb.Net - Class to Change Textbox BackColor Dynamically

34,021

All you need to do is inherit from the TextBox control.

Public Class TextBoxEx
    Inherits TextBox

    Private Sub TextBoxEx_Enter(sender As Object, e As EventArgs) Handles Me.Enter
        Me.BackColor = Color.LightCyan
    End Sub

    Private Sub TextBoxEx_Leave(sender As Object, e As EventArgs) Handles Me.Leave
        If Me.Text <> "" Then
            Me.BackColor = Color.LightGreen
        Else
            Me.BackColor = Color.White
        End If
    End Sub
End Class

Build your project and then replace your TextBox controls with the new TextBoxEx control.

Share:
34,021
APS
Author by

APS

Updated on December 31, 2020

Comments

  • APS
    APS over 3 years

    I'd like to know how to create a Class to change each textbox BackColor inside a Form. To be more Specific:

    1. When the textbox Is Empty, the textbox BackColor equals White.
    2. When the textbox Get focus, the textbox BackColor change.
    3. When the textbox have any text, the textbox BackColor change.
    4. When the textbox Lost focus, the textbox BackColor change.

    At the moment, I'm doing it this way.

    Private Sub tb_Login_Enter(sender As Object, e As EventArgs) Handles tb_Login.Enter
        tb_Login.BackColor = Color.LightCyan
    End Sub
    
    Private Sub tb_Login_Leave(sender As Object, e As EventArgs) Handles tb_Login.Leave
        If tb_Login.Text <> "" Then
            tb_Login.BackColor = Color.LightGreen
        Else
            tb_Login.BackColor = Color.White
        End If
    

    But, I have many TextBox in my from, so, how can I create a Class for it?

    Thanks