private void oTRPRODUCTOToolStripMenuItem_Click(object sender, EventArgs e) { //form_producto_hijo = new FormProductoHijo(); form_producto_hijo = FormProductoHijo.ObtenerFormProductoHijo(); form_producto_hijo.MdiParent = this; form_producto_hijo.Show(); form_producto_hijo.WindowState = FormWindowState.Maximized; }
/* Metodo Dispose de un formulario, se ocupa de liberar todos los componentes que pertenecen al formulario, por ejemplo los controles, * este se ejecuta cuando el formulario se cierra, en este caso aprovechamos para convertir a null la instancia del formulario */ protected override void Dispose(bool disposing) { /* FormProductoHijo se creo como una clase y obtuvo el comportamiento de formulario al heredarlo de FormProducto * por lo que no tenia el metodo dispose, pero lo copiamos del FormProducto */ if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); instancia_form_producto_hijo = null; }
//Formulario que genera un formulario Producto con el patro SINGLETON public static FormProductoHijo ObtenerFormProductoHijo() { if (instancia_form_producto_hijo == null) instancia_form_producto_hijo= new FormProductoHijo(); return instancia_form_producto_hijo; }