Lecture par défaut des paramètres de l'application en C#
J'ai un certain nombre de paramètres de l'application (utilisateur dans le champ d'application) pour mon custom de la grille de contrôle. La plupart d'entre eux sont des paramètres de couleur. J'ai un formulaire où l'utilisateur peut personnaliser ces couleurs et je souhaite ajouter un bouton pour revenir à la couleur par défaut des paramètres. Comment puis-je lire les paramètres par défaut?
Par exemple:
- J'ai un paramètre utilisateur nommé
CellBackgroundColor
dansProperties.Settings
. - Au moment de la conception, j'ai défini la valeur de
CellBackgroundColor
àColor.White
l'aide de l'IDE. - Utilisateur définit
CellBackgroundColor
àColor.Black
dans mon programme. - Je enregistrer les paramètres de
Properties.Settings.Default.Save()
. - Utilisateur clique sur le
Restore Default Colors
bouton.
Maintenant, Properties.Settings.Default.CellBackgroundColor
retourne Color.Black
. Comment puis-je revenir à Color.White
?
Vous devez vous connecter pour publier un commentaire.
@ozgur,
Exemple:
La lecture de "Windows 2.0 Formes de Programmation", je suis tombé sur ces 2 méthodes utiles qui pourront vous aider dans ce contexte:
ApplicationSettingsBase.Recharger
ApplicationSettingsBase.Réinitialiser
À partir de MSDN:
Ainsi que l'utilisation serait:
Je ne suis pas vraiment sûr de ce qui est nécessaire, il doit être propre, sinon j'espère que quelqu'un trouve cela utile;
utilisation;
Properties.Settings.Default.Reset()
permettra de réinitialiser tous les réglages à leur valeur d'origine.J'ai contourné ce problème en avoir 2 jeux de paramètres. J'utilise celui que Visual Studio ajoute par défaut pour les paramètres actuels, c'est à dire
Properties.Settings.Default
. Mais j'ai aussi ajouter un autre fichier de settings de mon projet "Projet -> Ajouter un Nouvel Élément -> Général> Fichier de Paramètres" et entreposer des valeurs par défaut dans les il y, c'est à direProperties.DefaultSettings.Default
.Je puis vous assurer que je n'ai jamais écrit à l'
Properties.DefaultSettings.Default
paramètres, il suffit de lire à partir d'elle. Changer tout retour à la valeur par défaut est alors juste une affaire de réglage les valeurs actuelles aux valeurs par défaut.Deux façons que vous pouvez faire:
J'ai trouvé que l'appel
ApplicationSettingsBase.Reset
aurait pour effet de réinitialiser les paramètres à leurs valeurs par défaut, mais aussi de les enregistrer en même temps.Le comportement que je voulais était de rétablir les valeurs par défaut, mais pas pour les sauver (de sorte que si l'utilisateur n'aime pas les paramètres par défaut, jusqu'à ce qu'ils ont été sauvés, ils pourraient revenir en arrière).
J'ai écrit une méthode d'extension qui a été adapté à mes besoins: