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事件中添加以下代码:

  1. private void FormMain_Load(object sender, EventArgs e)  
  2. {  
  3. // Set window location  
  4. if (Settings.Default.WindowLocation != null)  
  5. {  
  6. this.Location = Settings.Default.WindowLocation;  
  7. }  
  8. // Set window size  
  9. if (Settings.Default.WindowSize != null)  
  10. {  
  11. this.Size = Settings.Default.WindowSize;  
  12. }  

C# Setting步骤三:
在窗体的FormClosing事件中添加如下代码:

  1. private void FormMain_FormClosing(object sender, FormClosingEventArgs e)  
  2. {  
  3. // Copy window location to app settings  
  4.  
  5. Settings.Default.WindowLocation = this.Location;  
  6. // Copy window size to app settings  
  7.  
  8. if (this.WindowState == FormWindowState.Normal)  
  9. {  
  10. Settings.Default.WindowSize = this.Size;  
  11. }  
  12. else  
  13. {  
  14. Settings.Default.WindowSize = this.RestoreBounds.Size;  
  15. }  
  16. // Save settings  
  17.  
  18. Settings.Default.Save();  

以上是原作者写的,窗体最小化后在任务栏右键关闭窗体,再次打开窗体会有点问题

  1. private void frmMain_FormClosing(object sender, FormClosingEventArgs e)  
  2. {  
  3. // Copy window location to app settings  
  4.  
  5. Settings.Default.WindowLocation = this.Location;  
  6. // Copy window size to app settings  
  7.  
  8. if (this.WindowState == FormWindowState.Normal)  
  9. {  
  10. if (this.Size.Width != 0 && this.Size.Height != 0)  
  11. {  
  12. Settings.Default.WindowSize = this.Size;  
  13. }  
  14. }  
  15. else  
  16. {  
  17. if (this.RestoreBounds.Size.Width != 0 && this.RestoreBounds.Size.Height != 0)  
  18. {  
  19. Settings.Default.WindowSize = this.RestoreBounds.Size;  
  20. }  
  21. }  
  22. // Save settings  
  23.  
  24. if(this.WindowState!=FormWindowState.Minimized)  
  25. Settings.Default.Save();  

【编辑推荐】

  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-08-13 10:42:31

C#窗体拖动事件

2009-09-07 06:07:46

C#窗体设计

2009-08-28 15:58:54

C#窗体里调用

2009-09-07 06:48:13

C#透明窗体

2009-09-07 04:19:56

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 05:24:22

C#窗体继承

2009-09-07 06:18:57

C#窗体设计器

2009-09-22 17:53:32

C# COM组件开发

2009-09-07 05:31:39

C#窗体关闭事件

2009-09-07 03:37:51

C#窗体

2009-08-25 09:39:21

创建C# Window
点赞
收藏

51CTO技术栈公众号