Partilhar via


Esquema de Definições da Aplicação

As definições da aplicação permitem que uma aplicação Windows Forms ou ASP.NET armazene e recupere definições com âmbito de aplicação e de utilizador. Neste contexto, uma definição é qualquer informação que possa ser específica da aplicação ou do utilizador atual — desde uma cadeia de ligação à base de dados até ao tamanho de janela predefinido preferido pelo utilizador.

Por defeito, as definições de aplicação numa aplicação Windows Forms usam a LocalFileSettingsProvider classe, que utiliza o sistema de configuração .NET para armazenar definições num ficheiro de configuração XML. Para mais informações sobre os ficheiros usados pelas definições da aplicação, consulte Arquitetura das Definições da Aplicação.

Importante

A maioria das secções de configuração definidas pelo .NET Framework já não funciona nas versões .NET 6+ e .NET Core. ConfigurationManager é fornecido apenas para compatibilidade. Em vez de app.config, o .NET moderno usa o ficheiroappsettings.json para as definições da aplicação. Veja Modernizar após atualizar do .NET Framework para .NET.

Considere remover o uso em app.config e chamar a API correspondente, se disponível, para fazer a mesma configuração. Para obter mais informações, consulte Configuração no .NET.

As definições da aplicação definem os seguintes elementos como parte dos ficheiros de configuração que utiliza.

Elemento Description
<applicationSettings> Contém todas <setting> as etiquetas específicas da aplicação.
<userSettings> Contém todas <setting> as etiquetas específicas do utilizador atual.
<setting> Define um cenário. Filho de um ou <applicationSettings><userSettings>de .
<value> Define o valor de um cenário. Filho de <setting>.

elemento <applicationSettings>

Este elemento contém todas <setting> as etiquetas específicas de uma instância da aplicação num computador cliente. Não define nenhum atributo.

elemento <userSettings>

Este elemento contém todas <setting> as etiquetas específicas do utilizador que está a usar a aplicação. Não define nenhum atributo.

elemento <setting>

Este elemento define um cenário. Tem as seguintes características.

Attribute Description
name Required. O ID único do cenário. As definições criadas através do Visual Studio são guardadas com o nome ProjectName.Properties.Settings.
serializeAs Required. O formato a usar para serializar o valor em texto. Os valores válidos são:

- string. O valor é serializado como uma cadeia usando um TypeConverter.
- xml. O valor é serializado usando serialização XML.
- binary. O valor é serializado como binário codificado em texto usando serialização binária.
- custom. O fornecedor de definições tem conhecimento inerente desta configuração e serializa-a e desserializa-a.

Adicione os nomes das definições que cria <applicationSettings> como entradas sob o <configSections> elemento no topo do ficheiro. Por exemplo:

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsFormsApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
            <section name="WindowsFormsApp1.Properties.MyCustomSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    ...
</configuration>

elemento <value>

Este elemento contém o valor de um cenário.

Example

O exemplo seguinte mostra um ficheiro de definições de aplicação que define duas definições com âmbito de aplicação e duas definições com âmbito de utilizador:

<?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>

Consulte também