在设计时更改现有设置的值

  还可以按以下步骤所述,使用设置设计器在设计时更改预先存在设置的值:

  在设计时更改现有设置值的步骤

  在“Solution Explorer”(解决方案资源管理器)中,展开项目的“Properties”(属性)节点。

  在“Solution Explorer”(解决方案资源管理器)中,双击要在其中添加新设置的 .settings 文件。此文件的默认名称是 Settings.settings。

  在设置设计器中,找到要更改的设置,然后在“Value”(值)列中键入新值。

  在应用程序会话之间更改设置值

  有时,在编译和部署了应用程序后,可能需要在应用程序会话之间更改设置值。例如,可能需要更改连接字符串,使其指向正确的数据库位置。由于设计时工具在应用程序编译和部署后不可用,所以必须手动在文件中更改设置值。

  在应用程序会话间更改设置值的步骤

  使用 Microsoft 记事本或其他某种文本或 XML 编辑器,打开与应用程序关联的 <AssemblyName>.exe.config 文件。

  找到要更改的设置条目。它应看似以下示例:

  <setting name="Setting" serializeAs="String">

  <value>这是设置值</value>

  </setting>

  为设置键入新值,然后保存该文件。

  在运行时使用设置

  运行时应用程序可以通过代码使用设置。具有应用程序作用域的设置值能够以只读方式进行访问,而用户作用域设置的值可以进行读写。在 C# 中可以通过 Properties 命名空间使用设置。

  在运行时读取设置

  可在运行时使用 Properties 命名空间读取应用程序作用域及用户作用域设置。Properties 命名空间通过 Properties.Settings.Default 对象公开了项目的所有默认设置。编写使用设置的代码时,所有设置都会出现在 IntelliSense 中并且被强类型化。因此,举例来说,如果设置的类型为 System.Drawing.Color,则无需先对其进行强制类型转换即可使用该设置,如下例所示:

  this.BackColor = Properties.Settings.Default.myColor;

  在运行时保存用户设置

  应用程序作用域设置是只读的,只能在设计时或通过在应用程序会话之间修改 <AssemblyName>.exe.config 文件来进行更改。然而,用户作用域设置却可以在运行时进行写入,像更改任何属性值那样。新值会在应用程序会话持续期间一直保持下去。可以通过调用 Settings.Save 方法来保持在应用程序会话之间对用户设置所做的更改。这些设置保存在 User.config 文件中。

  在运行时写入和保持用户设置的步骤

  访问用户设置并为其分配新值,如下例所示:

  Properties.Settings.Default.myColor = Color.AliceBlue;

  如果要保持在应用程序会话之间对用户设置所做的更改,请调用 Save 方法,如以下代码所示:

  Properties.Settings.Default.Save();

  交替使用多组设置

  在某些情况下,可能需要在应用程序中使用多组设置。例如,如果正在开发的应用程序中有某组设置预计会频繁进行更改,则比较明智的做法是将其全都分成单个文件,这样便可成批替换相应文件,而不会使其他设置受到影响。Visual Studio 2005 允许向项目中添加多组设置。可以通过各自节点中生成的设置对象来访问各组附加设置。例如,如果向项目中添加了名为 SpecialSettings 的一组设置,则要通过 Properties.SpecialSettings 对象来访问该组设置包含在代码中的设置。

  添加附加设置组的步骤

  从“Project”(项目)菜单中选择“Add New Item”(添加新项)。将会打开“Add New Item”(添加新项)对话框。

  在“Add New Item”(添加新项)对话框中,选择“Settings File”(设置文件)。

  在“Name”(名称)框中为设置文件命名,如 SpecialSettings.settings,然后单击“Add”(添加),将文件添加到解决方案中。

  在“Solution Explorer”(解决方案资源管理器)中,将新的设置文件拖入到 Properties 文件夹中。这样便可在代码中使用新的设置。

  如在其他任何设置文件中那样在此文件中添加和使用设置。可通过 Properties.SpecialSettings 对象访问此组设置。

  结束语

  在本文中,您已了解如何在 C# 应用程序中使用设置来存储和管理从属于应用程序和用户的设置。您还学会了如何在设计时添加设置、如何在运行时读写设置,以及如何将多组附加设置合并到应用程序中。