应用程序设置架构

应用程序设置允许 Windows 窗体或 ASP.NET 应用程序存储和检索应用程序范围和用户范围的设置。 本上下文中的“设置”是可能特定于应用程序或特定于当前用户的任何信息 -- 从数据库连接字符串到用户的首选默认窗口大小的任何内容。

默认情况下,Windows 窗体应用程序中的应用程序设置使用 LocalFileSettingsProvider,后者使用 .NET 配置系统将设置存储在一个 XML 配置文件中。 有关应用程序设置所使用的文件的更多信息,请参见 应用程序设置体系结构

应用程序设置将下列元素定义为它使用的配置文件的一部分。

元素

说明

<applicationSettings> 元素

包含特定于应用程序的所有 <setting> 标记。

<userSettings> 元素

包含特定于当前用户的所有 <setting> 标记。

<setting> 元素

定义设置。 <applicationSettings> 或 <userSettings> 的子项。

<value> 元素

定义设置的值。 <setting> 的子项。

<applicationSettings> 元素

此元素包含特定于客户端计算机上的某个应用程序实例的所有 <setting> 标记。 它不定义任何特性。

<userSettings> 元素

此元素包含特定于当前正在使用应用程序的用户的所有 <setting> 标记。 它不定义任何特性。

<setting> 元素

此元素定义设置。 它具有以下特性:

元素

说明

name

必选。 设置的唯一 ID。 通过 Visual Studio 创建的设置使用名称 ProjectName.Properties.Settings 进行保存。

serializedAs

必选。 用于将值序列化为文本的格式。 有效值为:

  • string。 值使用 TypeConverter 被序列化为字符串。

  • xml。 值使用 XML 序列化进行序列化。

  • binary。 值使用二进制序列化被序列化为文本编码的二进制。

  • custom。 设置提供程序本身知道存在此设置,并将对其进行序列化和反序列化。

  • 若要使用二进制或自定义序列化,您必须定义自己的设置类并使用 SettingsSerializeAsAttribute 指定二进制或自定义序列化。

<value> 元素

此元素包含设置的值。

示例

下面的代码示例演示一个应用程序设置文件,该文件定义两个应用程序范围的设置和两个用户范围的设置。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </sectionGroup>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <WindowsApplication1.Properties.Settings>
            <setting name="Cursor" serializeAs="String">
                <value>Default</value>
            </setting>
            <setting name="DoubleBuffering" serializeAs="String">
                <value>False</value>
            </setting>
        </WindowsApplication1.Properties.Settings>
    </applicationSettings>
    <userSettings>
        <WindowsApplication1.Properties.Settings>
            <setting name="FormTitle" serializeAs="String">
                <value>Form1</value>
            </setting>
            <setting name="FormSize" serializeAs="String">
                <value>595, 536</value>
            </setting>
        </WindowsApplication1.Properties.Settings>
    </userSettings>
</configuration>

请参见

概念

应用程序设置概述

应用程序设置体系结构