Каков самый быстрый способ добавить элементы в выпадающий список combo box с помощью C# ?
Я работаю над преобразователем времени, который имеет 2 комбо-бокса, туда и обратно.
Оба комбобокса есть Большой список около 20 тысяч+ названия стран и городов.
Этот список жестко закодирован в самом коде, и я использую этот код:
this.comboBox_TO.Items.AddRange(new object[] { "Afghanistan, Kabul", //List } this.comboBox_FROM.Items.AddRange(new object[] { "Afghanistan, Kabul", //List }
Проблема здесь в том, что этот код занимает много времени, чтобы добавить большой список в Combobox, и сбрасывается каждый раз, когда конвертер закрывается. Итак, в следующий раз, когда я снова открою конвертер времени, это снова займет много времени.
Мне нужна помощь в любом случае,
1) Самый быстрый способ добавить список в элементы Combobox, или
2) остановите сброс Combobox каждый раз, когда конвертер снова открывается.
Заранее спасибо.
Что я уже пробовал:
this.comboBox_TO.Items.AddRange(new object[] { "Afghanistan, Kabul", //List } this.comboBox_FROM.Items.AddRange(new object[] { "Afghanistan, Kabul", //List }
Graeme_Grant
Трудно дать полезный ответ, так как мы не видим кода, который используется в вашем вопросе.
Пожалуйста, обновите свой вопрос с отсутствующим кодом, нажав на кнопку Улучшить вопрос.
Garth J Lancaster
можно ли использовать иерархический подход или подход "нагрузка по требованию"? сначала загрузите все страны, пользователь выбирает страну, а затем загружает города для страны ?
(на самом деле это не ответ на ваш вопрос, кроме как предложить другой "подход", чем загрузка всего сразу)
[no name]
"Оба Combobox имеют большой список около 20K+", у вас нет проблемы с производительностью, у вас есть проблема с дизайном. Никто не собирается просеивать список из 20 тысяч пунктов.
Jochen Arndt
Вы на самом деле используете самый быстрый способ.
Единственной оптимизацией может быть установка для свойства Sorted значения false (если оно еще не очищено).
Чтобы избежать повторной инициализации, вы можете скрыть форму, содержащую поля со списком, вместо того чтобы закрывать ее.
Но как уже было сказано:
Список с 20k+ элементами не является удобным для пользователя.
Попробуйте разбить его (например, один список со странами и зависимый список с городами в выбранной стране).
Afzaal Ahmad Zeeshan
Сколько времени это займет?
F. Xaver
Почему так много возможностей в любом случае.. есть только 22 страны с более чем 1 часовым поясом
большинство приложений добавляют только некоторые из более крупных городов или только столицу к названию страны
например, Афганистан (Кабул), Франция (Париж), Германия (Берлин).. Зимбабве (Хараре)
и за это 22 страны ... как в США
США /HAST (Гонолулу), США /AKST (Анкоридж), США /PST (Лос-Анджелес), США /MST (Солт-Лейк-Сити), США /CST (Чикаго), США /EST (Нью-Йорк)
зачем вдаваться в подробности ;)
CHill60
Я заинтригован тем, что в списке стран есть 20 тысяч записей, поскольку на этой земле существует менее 200 стран!