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

时间:2010-06-13 14:05:48

标签: c# winforms settings

  

可能重复:
  What is the best way to store user settings for a .NET application?

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

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

3 个答案:

答案 0 :(得分:62)

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

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

答案 1 :(得分: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();

答案 2 :(得分:1)

我会使用Application Settings。这非常简单,并会为您处理一些问题(例如,没有管理员访问可能安装您的应用程序的文件夹的写入权限,直接使用app.config为您的设置排除。)