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
InterfazB interfazB = new InterfazB();
interfazB.ShowDialog();
this.Hide();
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
private static Form1 _Form1 = null;
public static Form1 DefInstance
{
get
{
if (_Form1 == null || _Form1.IsDisposed)
_Form1 = new Form1();
else
_Form1.BringToFront();
return _Form1;
}
set
{
_Form1 = value;
}
}
y luego lo llamamos de esta menera
Código: Text
Form1.DefInstance.Show();
y para acceder algun campo desde otro formulario debemos declara como Internal el campo y se llama de esta manera
Código: Text
Form1.DefIntance.TextBox1.Text = "algo";
espero que le sirva a alguien ya que yo no encontre nada en mucho tiempo.