stavros-s
4/12/2013 - 11:59 AM

.NET - Save/load window position to/from registry on form close/open.

.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);
            }


        }