Ormai da tempo utilizzo una mia libreria personalizzata con vari funzioni di gestione ed altro.
Tra le tante cose c'è anche un gestore di Setting. Per capire come funziona vi rimando all'articolo della brava Sabrina Cosolo e bravo Diego Cattaruzza http://www.visual-basic.it/articoli/scdcSenzaMani05.htm.
naturalmente le due classi in questione l'ho nominate in modo consono alle mie applicazione:
La classe Setting che è l'elemento per la serializzazione e gestione delle impostazioni singole, si chiama PanatronicSetting.
La classe Settings invece che è la collezione di Setting (collezione PanatronicSetting) si chiama ClsSetting e si trova in ogni applicazione in cui serve la gestione dei Setting; naturalmente con relativo FormSetting.
Il problema che ritrovo ogni volta che devo aggiungere un nuovo parametro di setting, è ricordarmi i vari passaggi: semplici ma dato che vengono fatti una volta al mese (al massimo) si fa presto a dimenticare qualcosa.
Per questo riporto qui l'aggiunta di un parametro. Ecco i vari passaggi per l'aggiunta di un setting contenente la stringa di connessione di un DB Access:
- Definisco la costante col nome del setting:
public const STT_CnnAccess = "CnnAccess" as string
- Definisco la costante con la descrizione del setting:
public const SDD_CnnAccess as string = "Connessione DB Access"
- Nel metodo LoadSEtting scrivo il controllo dell'eseistenza del Setting e in caso contrario lo creo:
If Not AppSettings.ExistSetting(STT_CnnAccess) Then
stt = New PanatronicSetting()
stt.ID = STT_CnnAccess
stt.Description = SDD_CnnAccess
stt.Value = "connessione temporanea"
stt.Automatic = False
AppSettings.Add(stt)
End If
- Per ultimo creo una property per il recupero dell'eventuale setting esistente:
Public Shared Property CnnAccess() As String
Get Return AppSettings(STT_CnnAccess).Value
End Get
Set AppSettings(STT_CnnAccess).Value = value
End Set
End Property
- Se invece che nei setting di Applicazione volevo metterlo nei setting dell'utente, basta fare la stessa cosa e la posto di AppSetting va messo UsrSettings.
Tutto qui...Spero che possa servire a qualcuno..
By By e a Sabry mandi mandi....