C# Setting保存窗體
C# Setting步驟一:打開項(xiàng)目屬性窗口,切換到設(shè)置(Settings)標(biāo)簽,
如下圖添加屬性
Name Type Scope Value
WindowLocation System.Drawing.Point User 0,0
WindowSize System.Drawing.Size User 300,300
C# Setting步驟二:
在要保存狀態(tài)的窗體代碼頭部添加代碼
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;
- }
- }
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();
- }
以上是原作者寫的,窗體最小化后在任務(wù)欄右鍵關(guān)閉窗體,再次打開窗體會有點(diǎn)問題
- 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();
- }
【編輯推薦】