.NET - Save/load window position to/from registry on form close/open.
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (Application.UserAppDataRegistry == null)
return;
Application.UserAppDataRegistry.SetValue("WindowState", WindowState);
Application.UserAppDataRegistry.SetValue("WindowSizeH", Size.Height);
Application.UserAppDataRegistry.SetValue("WindowSizeW", Size.Width);
Application.UserAppDataRegistry.SetValue("LocationX", DesktopLocation.X);
Application.UserAppDataRegistry.SetValue("LocationY", DesktopLocation.Y);
}
private void Form1_Load(object sender, EventArgs e)
{
if (Application.UserAppDataRegistry != null)
WindowState = (FormWindowState)Enum.Parse(WindowState.GetType(),
Application.UserAppDataRegistry.GetValue
("WindowState", FormWindowState.Normal).ToString());
if (WindowState != FormWindowState.Normal)
return;
if (Application.UserAppDataRegistry != null)
{
int x = (int)Application.UserAppDataRegistry.GetValue("LocationX");
int y = (int)Application.UserAppDataRegistry.GetValue("LocationY");
DesktopLocation = new Point(x, y);
}
if (Application.UserAppDataRegistry != null)
{
int w = (int)Application.UserAppDataRegistry.GetValue("WindowSizeW");
int h = (int)Application.UserAppDataRegistry.GetValue("WindowSizeH");
Size = new Size(w, h);
}
}