2010-07-27 9 views
1

Comment puis-je copier une collection d'éléments dans un comboBox vers un StringCollection dans mon application C#? Je ne suis intéressé que par capturer le texte de la chaîne pour chaque article dans leur ordre respectif. J'essaie de faire une liste de fichiers MRU qui est enregistrée entre les sessions, donc je voudrais copier comboBox.Items à StringCollection Properties.Settings.Default.MostRecentlyUsedHexFiles. Toute idée ou suggestion que vous pourriez avoir serait appréciée. Merci.Copie d'éléments ComboBox dans un StringCollection en C#

Répondre

2

Vous devriez être en mesure de faire une boucle sur les objets combobox.items et simplement utiliser stringcollection.Add() pour ajouter la chaîne à la collection.

La méthode toString fonctionnera comme décrit here:

Bien que le ComboBox est généralement utilisé pour afficher les éléments de texte, vous pouvez ajouter un objet à la zone de liste déroulante. En règle générale, la représentation d'un objet dans la zone de liste déroulante est la chaîne renvoyée par la méthode ToString de cet objet. Si vous voulez avoir un membre de l'objet affiché à la place, choisissez le membre qui sera affiché en mettant la propriété DisplayMember au nom du membre approprié . Vous pouvez également choisir un membre de l'objet que représentera la valeur renvoyée par l'objet en définissant la propriété ValueMember . Pour plus d'informations, voir ListControl.

donc quelque chose comme:

Foreach(object o in combobox.items) 
{ 
//might need to access a datamember of the combobox's item if more complex solution is required, but this will probably do 
stringcollection.Add(o.ToString); 
}