Dela via


Schema för program Inställningar

Programinställningar tillåter att ett Windows Forms- eller ASP.NET-program lagrar och hämtar inställningar med programomfattning och användaromfattning. I det här sammanhanget är en inställning all information som kan vara specifik för programmet eller som är specifik för den aktuella användaren – allt från en databas anslutningssträng till användarens önskade standardfönsterstorlek.

Som standard använder LocalFileSettingsProvider programinställningarna i ett Windows Forms-program klassen, som använder .NET-konfigurationssystemet för att lagra inställningar i en XML-konfigurationsfil. Mer information om de filer som används av programinställningar finns i Program Inställningar Arkitektur.

Viktigt!

De flesta konfigurationsavsnitt som definieras av .NET Framework fungerar inte längre i .NET 6+ och .NET Core-versioner. ConfigurationManager tillhandahålls endast för kompatibilitet. I stället för app.config använder modern .NET filen appsettings.json för appinställningar. Se Modernisera efter uppgradering till .NET från .NET Framework.

Överväg att ta bort användningen i app.config och anropa motsvarande API, om det är tillgängligt, för att göra samma inställning. Mer information finns i Konfiguration i .NET.

Programinställningar definierar följande element som en del av de konfigurationsfiler som används.

Element Description
<program Inställningar> Innehåller alla <inställningstaggar> som är specifika för programmet.
<användare Inställningar> Innehåller alla <inställningstaggar> som är specifika för den aktuella användaren.
<Inställningen> Definierar en inställning. Underordnad program <Inställningar> eller <användare Inställningar.>
<värde> Definierar en inställnings värde. Underordnad <inställning>.

<application Inställningar> element

Det här elementet innehåller alla <inställningstaggar> som är specifika för en instans av programmet på en klientdator. Det definierar inga attribut.

<user Inställningar> element

Det här elementet innehåller alla <inställningstaggar> som är specifika för den användare som för närvarande använder programmet. Det definierar inga attribut.

<inställningselement>

Det här elementet definierar en inställning. Den har följande attribut.

Attribut Beskrivning
Namn Obligatoriska. Det unika ID:t för inställningen. Inställningar som skapas via Visual Studio sparas med namnet ProjectName.Properties.Settings.
serializeAs Obligatoriska. Det format som ska användas för serialisering av värdet till text. Giltiga värden är:

- string. Värdet serialiseras som en sträng med hjälp av en TypeConverter.
- xml. Värdet serialiseras med xml-serialisering.
- binary. Värdet serialiseras som textkodad binär med binär serialisering.
- custom. Inställningsprovidern har inbyggd kunskap om den här inställningen och serialiserar och av-serialiserar den.

Lägg till namnen för inställningar som du skapar i programmet Inställningar> som poster under elementet <configSections> överst i filen.< Till exempel:

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

<värdeelement>

Det här elementet innehåller värdet för en inställning.

Exempel

I följande exempel visas en programinställningsfil som definierar två inställningar med programomfattning och två inställningar med användaromfattning:

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

Se även