在.NET Winforms应用程序中保存设置

Jim*_*mbo 22 c# settings winforms

可能重复:
存储.NET应用程序的用户设置的最佳方法是什么?

我已经找到了很多关于如何从Winforms应用程序保存应用程序设置(每个用户)的非常不同的示例.

我想在c#中执行此操作的正确方法非常简单,我希望有人可以启发我吗?

Mig*_*ura 64

在某些时候,答案归结为品味问题.我会说你最终会得到这些选项:

  • 将它存储在注册表中,您可以在其中使用HKEY_CURRENT_USER键.它下面的一切都是用户特定的.当您想要存储一堆小键值对时,这通常是首选.该系统的主要优点是您的设置很容易在几个不同的应用程序中找到和共享.要遵循这条道路,您可以从这里开始.
  • 使用.NET应用程序设置,提供了在运行时访问设置的最简单方法.同样,使用小尺寸数据的键值对更好.IMO,这种方法的主要优点是它的简单性以及它使您能够使用某些.NET类作为值(不强迫您将所有内容转换为更基本的类型)的事实.要遵循这条道路,您可以从这里开始.
  • 将其存储在用户数据文件夹中,这些文件夹通常隐藏在用户的配置文件目录下.当您想要存储大量数据或任意数量的文件时,这是首选.此方法的主要优点是您可以像处理任何文件一样操作数据(这也可能是一个缺点).要遵循这条道路,您可以从这里开始.


Tho*_*que 18

您可以使用.NET提供的设置基础结构.在项目的属性页面中,转到"设置"页面,然后定义设置.您可以将每个设置的范围定义为"应用程序"或"用户".将自动生成一个类以从代码访问这些设置.

要访问Foo和Bar设置,请使用:

// Read settings
textBoxFoo.Text = Properties.Settings.Default.Foo;

// Write settings
Properties.Settings.Default.Bar = checkBoxBar.IsChecked;

// Save settings
Properties.Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)

  • 我认为应用程序范围的设置不会使用此保存。 (2认同)