none
color de un textbox RRS feed

  • Pregunta

  • hola que tal 

    deseo cambiar el color de varios text box 

    para el primer textbox estoy utilizando esta sintaxi, pero no quiero volver a repetir lo mismo en todos los textbox ya que son bastantes , quiero una funcion que me permita hacer todo eso para luego llamarla en cada textbox 

     If txtprioridad.Text = "" Then
          txtprioridad.BackColor = Color.White
    ElseIf txtprioridad.Text = 1 Then
            txtprioridad.BackColor = Color.Red
    ElseIf txtprioridad.Text = 2 Then
                txtprioridad.BackColor = Color.Yellow
    ElseIf txtprioridad.Text = 3 Then
                txtprioridad.BackColor = Color.Green

     End If

    martes, 11 de septiembre de 2018 2:41

Respuestas

  • Por ejemplo, así:

    Sub CambiarColor(tb as TextBox) 
     If tb.Text = "" Then
           tb.BackColor = Color.White
     ElseIf tb.Text = 1 Then
             tb.BackColor = Color.Red
     ElseIf tb.Text = 2 Then
                 tb.BackColor = Color.Yellow
     ElseIf tb.Text = 3 Then
                 tb.BackColor = Color.Green
    
     End If
    End Sub
    
    'Llamarla así:
    CambiarColor(txtPrioridad)
    

    martes, 11 de septiembre de 2018 6:38

Todas las respuestas

  • Por ejemplo, así:

    Sub CambiarColor(tb as TextBox) 
     If tb.Text = "" Then
           tb.BackColor = Color.White
     ElseIf tb.Text = 1 Then
             tb.BackColor = Color.Red
     ElseIf tb.Text = 2 Then
                 tb.BackColor = Color.Yellow
     ElseIf tb.Text = 3 Then
                 tb.BackColor = Color.Green
    
     End If
    End Sub
    
    'Llamarla así:
    CambiarColor(txtPrioridad)
    

    martes, 11 de septiembre de 2018 6:38
  • Puedes crearte una función a la que le pases como parámetro el textBox sobre el que quieras aplicarla

    Pero si a esa función la vas a llamar en algún evento de esos textboxes, por ejemplo en el evento TextChanged puedes crear un único controlador como este:

    Private Sub TextBox_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtprioridad.TextChanged, TextBox2.TextChanged  ' <<< Aquí pones todos los textboxes separados por coma

            Dim Tb As TextBox = CType(sender, TextBox)
            If Tb.Text = "" Then
                Tb.BackColor = Color.White

            ElseIf Tb.Text = 1 Then
                Tb.BackColor = Color.Red

            ElseIf Tb.Text = 2 Then
                Tb.BackColor = Color.Yellow

            ElseIf Tb.Text = 3 Then
                Tb.BackColor = Color.Green

            End If


    Saludos, Javier J

    martes, 11 de septiembre de 2018 6:52
  • muchas gracias ya me salio 
    martes, 11 de septiembre de 2018 14:45