Get the App
SLTechnology News&Howtos  ›  Development  › 

How to realize Setting saving form in C #

Shulou Source: shulou.com Published: 2022-06-02 09:07:55 09月29日 Update

这篇文章将为大家详细讲解有关C#中如何实现Setting保存窗体,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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; } }

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(); }

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

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(); }关于"C#中如何实现Setting保存窗体"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

Tags: Forms clips code steps articles events properties more good practical minimum task content again original original author header article tag status Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia Linux MariaDB Docker MySQL