Procedura: creare le impostazioni dell'applicazione
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 ulteriori informazioni, vedere Procedura: creare le impostazioni delle applicazioni utilizzando la finestra di progettazione e Procedura: creare le impostazioni delle applicazioni utilizzando la finestra di progettazione e Procedura: creare le impostazioni delle applicazioni utilizzando la finestra di progettazione e Procedura: creare le impostazioni delle applicazioni utilizzando la finestra di progettazione e Procedura: creare le impostazioni delle applicazioni utilizzando la finestra di progettazione.
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 MyUserSettings 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 MyUserSettings Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Mus = New MyUserSettings() 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
//Make sure to hook up this event handler in the constructor! //this.FormClosing += new FormClosingEventHandler(Form1_FormClosing); void Form1_FormClosing(object sender, FormClosingEventArgs e) { mus.Save(); }
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