【发布时间】:2012-11-26 07:41:45
【问题描述】:
我正在使用 winforms,我想在用户更改时保存表单的桌面位置和大小。我找到了一些有用的代码,并将其放在表单关闭事件和表单加载事件中,分别保存和加载大小和位置。
但是,当用户直接关闭电脑而不先关闭程序时,更改的大小和位置不会被保存。
因此,我在 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);
}
【问题讨论】:
-
供将来参考:请不要张贴没有逗号、句号或段落的文字墙。结构化您的文本,使其易于阅读。