C# Setting步骤一:打开项目属性窗口,切换到设置(Settings)标签,
如下图添加属性
Name Type Scope Value
WindowLocation System.Drawing.Point User 0,0
WindowSize System.Drawing.Size User 300,300
C# Setting步骤二:
在要保存状态的窗体代码头部添加代码
using UserSettingsDemo.Properties;
在窗体的FormLoad事件中添加以下代码:
private void FormMain_Load(object sender, EventArgs e)
{
// Set window location
if (Settings.Default.WindowLocation != null)
{
this.Location = Settings.Default.WindowLocation;
}
// Set window size
if (Settings.Default.WindowSize != null)
{
this.Size = Settings.Default.WindowSize;
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
C# Setting步骤三:
在窗体的FormClosing事件中添加如下代码:
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
// Copy window location to app settings
Settings.Default.WindowLocation = this.Location;
// Copy window size to app settings
if (this.WindowState == FormWindowState.Normal)
{
Settings.Default.WindowSize = this.Size;
}
else
{
Settings.Default.WindowSize = this.RestoreBounds.Size;
}
// Save settings
Settings.Default.Save();
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
以上是原作者写的,窗体最小化后在任务栏右键关闭窗体,再次打开窗体会有点问题
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
// Copy window location to app settings
Settings.Default.WindowLocation = this.Location;
// Copy window size to app settings
if (this.WindowState == FormWindowState.Normal)
{
if (this.Size.Width != 0 && this.Size.Height != 0)
{
Settings.Default.WindowSize = this.Size;
}
}
else
{
if (this.RestoreBounds.Size.Width != 0 && this.RestoreBounds.Size.Height != 0)
{
Settings.Default.WindowSize = this.RestoreBounds.Size;
}
}
// Save settings
if(this.WindowState!=FormWindowState.Minimized)
Settings.Default.Save();
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
【编辑推荐】