web-dev-qa-db-fra.com

Comment enregistrer une liste <string> sur Settings.Default?

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?

38
BrunoLM

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();
41
BrunoLM

Aucun problème! Créez un nouveau paramètre, par exemple. "MyListOfStrings", le type importe peu.

enter image description here

puis ouvrez le fichier de paramètres dans un éditeur xml

enter image description hereenter image description here

votre fichier ressemblera à ceci:

enter image description here

maintenant changez-le comme indiqué ci-dessous et sauvegardez-le

enter image description here

eh bien, voilà tout, maintenant ça va ressembler à ça:

enter image description here

et en code:

enter image description here

76
pr0gg3r

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;
0
Joshua Lumley