Procedura: creare le impostazioni dell'applicazione
Aggiornamento: novembre 2007
L'utilizzo di codice gestito consente di creare nuove impostazioni dell'applicazione e di associarle a proprietà sul form o sui controlli del form affinché vengano caricate e salvate automaticamente in fase di esecuzione.
Nella procedura seguente viene creata manualmente una classe wrapper derivante da ApplicationSettingsBase. Alla classe viene aggiunta una proprietà accessibile pubblicamente per ogni impostazione dell'applicazione che si desidera esporre.
È anche possibile eseguire questa procedura utilizzando una quantità minima di codice nella finestra di progettazione di Visual Studio.
Per creare nuove impostazioni dell'applicazione a livello di codice
Aggiungere una nuova classe al progetto e rinominarla. Per questa procedura si applicherà alla classe la denominazione MyUserSettings. Modificare la definizione della classe in modo che la classe derivi da ApplicationSettingsBase.
Definire una proprietà della classe wrapper per ogni impostazione dell'applicazione desiderata e applicare alla proprietà la classe ApplicationScopedSettingAttribute o UserScopedSettingAttribute in funzione dell'ambito dell'impostazione. Per ulteriori informazioni sull'ambito delle impostazioni, vedere Cenni preliminari sulle impostazioni delle applicazioni. A questo punto, il codice dovrebbe risultare simile al seguente:
Imports System.Configuration Public Class MyAppSettings Inherits ApplicationSettingsBase <UserScopedSetting()> _ <DefaultSettingValue("white")> _ Public Property BackgroundColor() As Color Get BackgroundColor = Me("BackgroundColor") End Get Set(ByVal value As Color) Me("BackgroundColor") = value End Set End Property End Class
using System; using System.Configuration; using System.Drawing; public class MyUserSettings : ApplicationSettingsBase { [UserScopedSetting()] [DefaultSettingValue("white")] public Color BackgroundColor { get { return ((Color)this["BackgroundColor"]); } set { this["BackgroundColor"] = (Color)value; } } }
Creare un'istanza della classe wrapper nell'applicazione. Generalmente si tratta di un membro privato del form principale. Terminata la definizione della classe, è necessario associarla a una proprietà, ovvero, nel caso specifico, la proprietà BackColor del form. Eseguire tale operazione nel gestore eventi Load del form.
Dim Mus As MyAppSettings Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Mus = New MyAppSettings() Mus.BackgroundColor = Color.AliceBlue Me.DataBindings.Add(New Binding("BackColor", Mus, "BackgroundColor")) End Sub
MyUserSettings mus; private void Form1_Load(object sender, EventArgs e) { mus = new MyUserSettings(); mus.BackgroundColor = Color.AliceBlue; this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor")); }
Se si fornisce la possibilità di modificare le impostazioni in fase di esecuzione, è necessario salvare le impostazioni correnti dell'utente su disco alla chiusura del form altrimenti le modifiche andranno perse.
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Mus.Save() End Sub
A questo punto sarà stata creata una nuova impostazione dell'applicazione, associata alla proprietà specificata.
Sicurezza
Il provider di impostazioni predefinito, LocalFileSettingsProvider, rende persistenti le informazioni inviandole nei file di configurazione sotto forma di testo normale. Poiché in tal modo viene ridotta la sicurezza dell'accesso ai file garantita dal sistema operativo per l'utente corrente, è necessario utilizzare con cautela le informazioni archiviate nei file di configurazione. Un impiego comune delle impostazioni dell'applicazione, ad esempio, consiste nell'archiviare stringhe di connessione che puntano all'archivio dati dell'applicazione. Per ragioni di sicurezza, tuttavia, è importante che tali stringhe non includano password. Per ulteriori informazioni sulle stringhe di connessione, vedere SpecialSetting.
Vedere anche
Attività
Procedura: convalidare le impostazioni applicazione
Concetti
Cenni preliminari sulle impostazioni delle applicazioni