using System; using System.Drawing; using System.Windows.Forms; namespace WindowGeometry { public static class FormPosition { public static void GeometryFromString(string thisWindowGeometry, Form window) { if (string.IsNullOrEmpty(thisWindowGeometry)) return; try { string[] numbers = thisWindowGeometry.Split('|'); FormWindowState windowState = ((FormWindowState)Enum.Parse(typeof(FormWindowState), numbers[4])); Point windowPoint = new Point(int.Parse(numbers[0]), int.Parse(numbers[1])); Size windowSize = new Size(int.Parse(numbers[2]), int.Parse(numbers[3])); if (windowState == FormWindowState.Normal) { window.Location = windowPoint; window.Size = windowSize; } window.StartPosition = FormStartPosition.Manual; window.WindowState = windowState; Application.DoEvents(); } catch { } } public static string GeometryToString(Form window) { return window.Location.X.ToString() + "|" + window.Location.Y.ToString() + "|" + window.Size.Width.ToString() + "|" + window.Size.Height.ToString() + "|" + window.WindowState.ToString(); } } }