/// <summary> /// Restore the size, state and location that were saved for a form /// </summary> /// <param name="form">The form whose properties are to be restored</param> public static void RecuperarUbicacionVentana(Form form) { try { int codigoTamPantallaActual = ObtenerCodigoTamPantalla(); ColeccionUbicaciones cu = Deserializar(Properties.Settings.Default.UbicacionesFormulariosSerializadas); if (cu != null) { string name = ObtenerNombreVentana(form); UbicacionFormulario uf = (from f in cu where f.Nombre == name && f.CodigoTamVentana == codigoTamPantallaActual select f).FirstOrDefault(); if (uf != null) { if (uf.EstaMaximizado) { form.WindowState = FormWindowState.Maximized; } else { form.Size = uf.Size; form.Location = uf.Location; } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } }
/// <summary> /// Salvar el tamaño, estado y ubicación de un Form /// </summary> public static void SalvarUbicacionVentana(Form formulario) { try { int codigoTamPantallaActual = ObtenerCodigoTamPantalla(); ColeccionUbicaciones cu = Deserializar(Properties.Settings.Default.UbicacionesFormulariosSerializadas) ?? new ColeccionUbicaciones(); UbicacionFormulario uf = new UbicacionFormulario(); uf.CodigoTamVentana = codigoTamPantallaActual; uf.EstaMaximizado = formulario.WindowState == FormWindowState.Maximized; if (!uf.EstaMaximizado) { uf.Size = formulario.Size; uf.Location = formulario.Location; } string name = ObtenerNombreVentana(formulario); uf.Nombre = name; // Obtener ubicaciones distintas de la actual ColeccionUbicaciones cuNueva = new ColeccionUbicaciones(from f in cu where f.Nombre != name || f.CodigoTamVentana != codigoTamPantallaActual select f); // Agregar la actual a la coleccion cuNueva.Add(uf); // Salvar la nueva coleccion Properties.Settings.Default.UbicacionesFormulariosSerializadas = Serializar(cuNueva); Properties.Settings.Default.Save(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } }