SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Martillo en Viernes 12 de Septiembre de 2008, 13:37

Título: ReCargar Formulario sin perder datos
Publicado por: Martillo en Viernes 12 de Septiembre de 2008, 13:37
Hola

Tengo un formulario (A) en cual tengo una serie de datos, luego despliego un nuevo formulario(B) el cual realizo una busqueda avanzada de datos, llamo a el formulario (B) de la siguiente manera

Código: Text
  1.  InterfazB interfazB = new InterfazB();
  2. interfazB.ShowDialog();
  3. this.Hide();
  4.  

en este formulario tomo un dato que necesito y luego deseo volver al formulario anterior con todos las datos que tenia cargados anteriormente.


¿Como podria volver a llamarlo (formulario A) conservando todos los datos cargados previamente para no perderlos?

Saludos.
Título: Re: ReCargar Formulario sin perder datos
Publicado por: Martillo en Jueves 25 de Septiembre de 2008, 21:48
Me autorespondo

para instanciar una sola vez de algun formulario y asi no perder la informacion cada vez que tenga que necesitar dicho formulario hay que crear una propiedad que le llaman DefInstance, aca el codigo (este codigo debe ir en el formulario que queremos que sea instanciado una sola vez)

Código: Text
  1. private static Form1 _Form1 = null;
  2.  
  3.         public static Form1 DefInstance
  4.         {
  5.             get
  6.             {
  7.                 if (_Form1 == null || _Form1.IsDisposed)
  8.                     _Form1 = new Form1();
  9.                 else
  10.                     _Form1.BringToFront();
  11.                 return _Form1;
  12.             }
  13.             set
  14.             {
  15.                 _Form1 = value;
  16.             }
  17.         }
  18.  


y luego lo llamamos de esta menera


Código: Text
  1.  
  2. Form1.DefInstance.Show();
  3.  
  4.  

y para acceder algun campo desde otro formulario debemos declara como Internal el campo y se llama de esta manera


Código: Text
  1. Form1.DefIntance.TextBox1.Text = "algo";
  2.  

espero que le sirva a alguien ya que yo no encontre nada en mucho tiempo.

saludos