C# Setting保存窗体

开发 后端
本文介绍C# Setting保存窗体,包括设置Settings标签,在要保存状态的窗体代码头部添加代码和在窗体的FormClosing事件中添加代码。

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.

【编辑推荐】

  1. 简单介绍C#预处理
  2. 学习C#无词尾符号经验谈
  3. C#调用QuickTest自动化
  4. 详解C#正规表达式
  5. C#字符串插入html标签
责任编辑:佚名 来源: IT168
相关推荐

2009-09-01 18:06:06

c#保存窗体状态

2009-08-20 10:10:55

C#透明窗体

2009-09-07 06:07:46

C#窗体设计

2009-08-13 10:42:31

C#窗体拖动事件

2009-09-07 06:48:13

C#透明窗体

2009-09-07 04:19:56

C#窗体事件

2009-08-28 15:58:54

C#窗体里调用

2009-09-07 06:31:32

C#窗体移动

2009-09-07 05:10:52

C#模式窗体

2009-09-07 04:56:52

C#模式窗体

2009-08-25 09:19:01

C#实现窗体显示

2009-08-26 11:07:36

C#打印窗体

2009-09-07 04:59:12

C#模式窗体

2009-09-07 03:44:50

C#窗体间传值

2009-09-07 06:18:57

C#窗体设计器

2009-09-07 05:24:22

C#窗体继承

2009-09-22 17:53:32

C# COM组件开发

2009-08-25 09:39:21

创建C# Window

2009-09-07 05:31:39

C#窗体关闭事件

2009-09-07 03:37:51

C#窗体
点赞
收藏

51CTO技术栈公众号