none
Cambio de color de fuente al recibir el foco RRS feed

  • Pregunta

  • Hola, estoy trabajando con Visual Basic 2008, tengo un Form con muchos TextBox y ComboBox para cargar datos, como puedo hacer para que los controles al recibir el foco para escribir dentro, cambie el color de fuente a verde y al perder el foco quede nuevamente en negro como viene x defecto?
    miércoles, 26 de mayo de 2010 22:11

Respuestas

  • Estimado,

    creo que debería ser algo como esto:

     Private Sub txtPassword_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.GotFocus
        If txtPassword.Focused = True Then
          txtPassword.BackColor = Color.Green
        Else
          txtPassword.BackColor = Color.Black
        End If
      End Sub
    
      Private Sub txtPassword_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.Leave
        If txtPassword.Focused = True Then
          txtPassword    Else
          txtPassword.BackColor = Color.Black
        End If
      End Sub

    Otra forma sería en el evento KeyPress.

     Private Sub txtCaja1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCaja1.KeyPress
        If e.KeyChar = Convert.ToChar(Keys.Return) Then
          txtCaja2.Focus()
          txtCaja2.BackColor = Color.Green
          txtCaja1.BackColor = Color.Black
          e.Handled = True
        End If
      End Sub

     

     

     

    jueves, 27 de mayo de 2010 0:12

Todas las respuestas

  • Estimado,

    creo que debería ser algo como esto:

     Private Sub txtPassword_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.GotFocus
        If txtPassword.Focused = True Then
          txtPassword.BackColor = Color.Green
        Else
          txtPassword.BackColor = Color.Black
        End If
      End Sub
    
      Private Sub txtPassword_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.Leave
        If txtPassword.Focused = True Then
          txtPassword    Else
          txtPassword.BackColor = Color.Black
        End If
      End Sub

    Otra forma sería en el evento KeyPress.

     Private Sub txtCaja1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCaja1.KeyPress
        If e.KeyChar = Convert.ToChar(Keys.Return) Then
          txtCaja2.Focus()
          txtCaja2.BackColor = Color.Green
          txtCaja1.BackColor = Color.Black
          e.Handled = True
        End If
      End Sub

     

     

     

    jueves, 27 de mayo de 2010 0:12
  • Hola Marco, gracias por contestar, tu ejemplo esta bueno, pero buscaba algo mas sencillo, porque tendria que escribir este codigo en todos los texbox y combobox y realmente son muchos. Pienso que se podria crear una funcion para que cuando el control reciba el foco cambie su cogor de fuente.

    Igualmente muchas gracias por responder Marcos.

    jueves, 27 de mayo de 2010 15:36