【IT168技术文档】
方法:
步骤一:打开项目属性窗口,切换到设置(Settings)标签,
如下图添加属性
Name Type Scope Value
WindowLocation System.Drawing.Point User 0,0
WindowSize System.Drawing.Size User 300,300
步骤二:
在要保存状态的窗体代码头部添加
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; } }
在窗体的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(); }
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(); }