私はwinformsを使用しており、ユーザーが変更したときにフォームのデスクトップの場所とサイズを保存したいと考えています。便利なコードをいくつか見つけて、それをフォームの終了イベントとフォームの読み込みイベントに入れて、サイズと場所をそれぞれ保存および読み込みました。
ただし、ユーザーが最初にプログラムを閉じずに PC を直接シャットダウンすると、変更されたサイズと場所は保存されません。
したがって、サイズ変更イベントと場所変更イベントで同じコードを使用しましたが、プログラムが再起動しても機能せず、サイズと場所は変更されません。
private void frmScopeStatus_SizeChanged(object sender, EventArgs e)
{
Application.UserAppDataRegistry.SetValue("WindowState", this.WindowState);
Application.UserAppDataRegistry.SetValue("WindowSizeH", this.Size.Height);
Application.UserAppDataRegistry.SetValue("WindowSizeW", this.Size.Width);
Application.UserAppDataRegistry.SetValue("LocationX", this.DesktopLocation.X);
Application.UserAppDataRegistry.SetValue("LocationY", this.DesktopLocation.Y);
}
private void frmScopeStatus_LocationChanged(object sender, EventArgs e)
{
Application.UserAppDataRegistry.SetValue("WindowState", this.WindowState);
Application.UserAppDataRegistry.SetValue("WindowSizeH", this.Size.Height);
Application.UserAppDataRegistry.SetValue("WindowSizeW", this.Size.Width);
Application.UserAppDataRegistry.SetValue("LocationX", this.DesktopLocation.X);
Application.UserAppDataRegistry.SetValue("LocationY", this.DesktopLocation.Y);
}