• Jueves 28 de Marzo de 2024, 16:36

Autor Tema:  Resetear un formulario  (Leído 4208 veces)

nix2008

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Resetear un formulario
« en: Martes 18 de Noviembre de 2008, 16:46 »
0
Buenas tardes,
tengo un pequeño problema que no consigo resolver ya que quiero un botón que al pulsarlo resete mi formulario a sus valores iniciales. Habría alguna forma de conseguir esto??

Muchas gracias por adelantado

E.Baley

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Resetear un formulario
« Respuesta #1 en: Martes 18 de Noviembre de 2008, 19:45 »
0
Por "resete mi formulario a sus valores iniciales" supongo que te refieres a los controles que contiene (textBoxes, Campos para insertar números, etc...). Si es así, tendrias que guardar los valores iniciales en algunas variables, y luego al pulsar el botón, establecer cada control con su valor inicial. Por ejemplo, para un Label, un TextBox y un NumericUpDown podrias hacer:
String valorIni_01 = "Cadena 1";
String valorIni_02 = "Cadena 2";
int valorIni_03 = 25;
etc...

Luego al pulsar el botón:
Lab01.Text = valorIni_01;
TextBox01.Text = valorIni_02;
NumericUpDown01.Value = valorIni_03;

etc...

nix2008

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Resetear un formulario
« Respuesta #2 en: Miércoles 19 de Noviembre de 2008, 10:46 »
0
Probaré esto que me dices, muchas gracias por tu respuesta.  :D

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Resetear un formulario
« Respuesta #3 en: Miércoles 19 de Noviembre de 2008, 23:17 »
0
También podrías hacerlo para todos los controles, recorriendo los controles del formulario, panel o contenedor:

Código: Text
  1.  private void LimpiarFormulario(Control objContenedor)
  2.        {
  3.            // para cada control contenido en la colección
  4.            foreach (Control obj in objContenedor.Controls)
  5.            {
  6.  
  7.                // si tiene hijos, recórrelos de forma recursiva
  8.                if (obj.HasChildren)    LimpiarFormulario(obj);
  9.                if (obj is TextBox)     ((TextBox)obj).Text = "";
  10.                if (obj is CheckBox)    ((CheckBox)obj).Checked = false;
  11.                if (obj is RadioButton) ((RadioButton)obj).Checked = false;
  12.            }
  13.        }
  14.  

Más información en el siguiente artículo: typeof vs if... y el limpiado (clear) de controles

saludos,


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

E.Baley

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Resetear un formulario
« Respuesta #4 en: Jueves 20 de Noviembre de 2008, 09:13 »
0
claro, es una forma más elegante pero implica que el valor inicial de cada control es siempre el mismo (" " para los textos, false para checked, etc...)
saludos

nix2008

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Resetear un formulario
« Respuesta #5 en: Jueves 20 de Noviembre de 2008, 09:26 »
0
Es justo lo que necesitaba, muchas gracias