Hola a todos, hoy os voy a enseñar como limpiar un formulario de forma completa en Visual Basic .NET.
Cuando tenemos un formulario con datos, es normal que necesitemos limpiar los datos en alguna ocasión pero hay veces que tenemos muchos elementos y se hace pesado tener que ir elemento a elemento, reiniciando o borrando texto.
Por eso, os traigo una función que nos va a permitir hacerlo de forma sencilla:
Sub limpiarFormulario(controles As Control.ControlCollection) For Each control As Control In controles If TypeOf control Is TextBox Then DirectCast(control, TextBox).Clear() ElseIf TypeOf control Is PictureBox Then DirectCast(control, PictureBox).Image = Nothing ElseIf TypeOf control Is ComboBox Then DirectCast(control, ComboBox).SelectedIndex = 0 ElseIf TypeOf control Is NumericUpDown Then DirectCast(control, NumericUpDown).Value = 0 ElseIf TypeOf control Is CheckBox Then DirectCast(control, CheckBox).Checked = False ElseIf TypeOf control Is GroupBox Or TypeOf control Is Panel Then limpiarFormulario(control.Controls) ElseIf TypeOf control Is DataGridView Then DirectCast(control, DataGridView).Rows.Clear() DirectCast(control, DataGridView).DataSource = Nothing End If Next End Sub
La forma de llamarlo es simple:
limpiarFormulario(Me.Controls)
Siendo Me el Form. Si te fijas en la función, se llama así misma, básicamente es recursiva si el elemento contienen otros elementos.
He puesto los más comunes, si necesitas añadir algún elemento personalizado, solo debes añadir otro elseif. Si quieres que añadamos alguno en concreto, coméntanos.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Una genialidad… la verdad, no conocía este método!!! Gracias
Excelente post amigo, tambien vi este video y me funcionó a las mil maravillas, en la descripción comparten el código: https://www.youtube.com/watch?v=YsTQlwJoPbA
¡Muchas gracias!
Muy buena función, gracias!