J'ai un contrôle ListBox sur mon formulaire, je veux le sauvegarder et charger les valeurs lorsque je redémarre l'application.
Comment enregistrer une liste sur PrjName.Properties.Settings.Default
?
J'ai découvert que je ne pouvais pas enregistrer directement un List<string>
dans les paramètres de l'application, mais j'ai constaté que je pouvais enregistrer une StringCollection
.
Et ici J'ai découvert qu'il est très simple de convertir un StringCollection
en un List<string>
var list = stringCollection.Cast<string>().ToList();
Aucun problème! Créez un nouveau paramètre, par exemple. "MyListOfStrings", le type importe peu.
puis ouvrez le fichier de paramètres dans un éditeur xml
votre fichier ressemblera à ceci:
maintenant changez-le comme indiqué ci-dessous et sauvegardez-le
eh bien, voilà tout, maintenant ça va ressembler à ça:
et en code:
Lors de l'utilisation du type pris en charge de manière native System.Collections.Specialized.StringCollection
J'ai utilisé ce code:
System.Collections.Specialized.StringCollection SavedSearchTerms = new System.Collections.Specialized.StringCollection();
if (Properties.Settings.Default.SavedSearches != null)
{
SavedSearchTerms = Properties.Settings.Default.SavedSearches;
}
SavedSearchTerms.Add("Any Value");
Properties.Settings.Default.SavedSearches = SavedSearchTerms;