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>