Limpiar un formulario en Visual Basic .NET

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:

[vbnet] 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
[/vbnet]

La forma de llamarlo es simple:

[vbnet]

limpiarFormulario(Me.Controls)

[/vbnet]

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.

Compartir

4 comentarios

  1. Angel

    Una genialidad… la verdad, no conocía este método!!! Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539