Копирование элементов ComboBox в коллекцию StringCollection в C # - PullRequest
1 голос
/ 28 июля 2010

Как я могу скопировать коллекцию элементов из comboBox в StringCollection в моем приложении C #? Меня интересует только захват текста строки для каждого элемента в соответствующем порядке. Я пытаюсь создать список файлов MRU, который сохраняется между сеансами, поэтому я хотел бы скопировать comboBox.Items в StringCollection Properties.Settings.Default.MostRecentlyUsedHexFiles. Любые мысли или предложения, которые вы можете иметь, будут оценены. Спасибо.

1 Ответ

2 голосов
/ 28 июля 2010

Вы должны иметь возможность перебирать combobox.items и просто использовать stringcollection.Add () для добавления строки в коллекцию.

Метод tostring будет работать так, как описано здесь :

Хотя ComboBox обычно используется для отображения текстовых элементов, вы можете добавить любой объект в ComboBox.Обычно представление объекта в ComboBox представляет собой строку, возвращаемую методом ToString этого объекта.Если вы хотите, чтобы вместо этого отображался элемент объекта, выберите элемент, который будет отображаться, установив для свойства DisplayMember имя соответствующего элемента.Вы также можете выбрать элемент объекта, который будет представлять значение, возвращаемое объектом, установив свойство ValueMember.Для получения дополнительной информации см. ListControl.

Так что-то вроде:

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);
}
...