我正在使用 winforms,并且我想在用户更改时保存表单的桌面位置和大小。我找到了一些有用的代码并将其放入表单关闭事件和表单加载事件中,以分别保存和加载大小和位置。
但是,当用户直接关闭 PC 而不先关闭程序时,不会保存更改的大小和位置。
因此,我在 size changed 和 location changed 事件中使用了相同的代码,但它不起作用,并且在程序重新启动时大小和位置没有改变。
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);
}