none
Limpiar varios textbox en diferentes panels RRS feed

  • Pregunta

  • Quisiera saber si existe alguna manera de limpiar varios textbox pero que estan en diferentes panels? 

    Tengo 24 panels en total, y en cada uno tengo 13 textbox, tengo este codigo para borrarlos pero solo me sirve para un solo panel 

     For Each txt In panel.Controls
                'Filtramos solo aquellos de tipo TextBox 
                If TypeOf txt Is TextBox Then
                    txttemporal = CType(txt, TextBox)
                    txttemporal.Clear() ' eliminar el texto  
                ElseIf TypeOf txt Is ComboBox Then
                    tcmbtemporal = CType(txt, ComboBox)
                    tcmbtemporal.SelectedIndex = -1
                End If
            Next

    Lo que quiero saber es si puedo ir recorriendo cada panel sin tener que repetir ese mismo codigo 24 veces. 

    Gracias. 

    domingo, 30 de junio de 2019 18:33

Respuestas

  • ¿Están los paneles directamente ubicados sobre el form? Si es así, puedes recorrerlos con otro bucle exactamente igual que los textboxes:

    For Each pnl in Me.Controls
        If TypeOf pnl Is Panel Then
             For Each txt In pnl.Controls
                 If TypeOf txt Is TextBox Then
                     ...
                 End If
             Next
        End If
    Next

    domingo, 30 de junio de 2019 20:00

Todas las respuestas

  • ¿Están los paneles directamente ubicados sobre el form? Si es así, puedes recorrerlos con otro bucle exactamente igual que los textboxes:

    For Each pnl in Me.Controls
        If TypeOf pnl Is Panel Then
             For Each txt In pnl.Controls
                 If TypeOf txt Is TextBox Then
                     ...
                 End If
             Next
        End If
    Next

    domingo, 30 de junio de 2019 20:00
  • Si estan ubicados dentro del Form, 

    Gracias por la ayuda. 

    lunes, 1 de julio de 2019 20:31