Listbox с 1000+ элементов, замороженных Visual Studio - PullRequest
5 голосов
/ 13 апреля 2011

У меня есть список с 1091 элементом, который я добавляю во время разработки.Каждый раз, когда Visual Studio пытается сохранить после того, как я вручную заполню список, он будет зависать бесконечно.Есть ли способ обойти это, я пытаюсь добавить слишком много элементов в список?

Спасибо

Ответы [ 3 ]

5 голосов
/ 13 апреля 2011

Вместо того, чтобы делать это вручную по городам во время разработки, я просто перебираю текстовый файл (или файл Excel или базу данных) во время выполнения и добавляю все города в список, который затем используется для заполненияthe listbox.

Конечно, это не ответ на ваш текущий вопрос, но это может быть решением вашей текущей проблемы.

Обновление : файлы ресурсовможет быть счастливой средой.Вы по-прежнему можете хранить названия городов в виде текстового файла.Затем вы добавляете этот текстовый файл в файл ресурсов.Затем файл ресурсов интегрируется с вашей программой, поэтому вам не нужно иметь дело с пользователем, который когда-либо знал, что файл существует.

Я опробовал его на C # (мой любимый язык), и это было более просто, чемЯ ожидал.После добавления файла ресурсов Resource1 я добавил свой текстовый файл cityListTextFile.txt в Resource1.С тех пор я мог получить к нему доступ следующим образом:

string cityList = Resource1._cityListTextFile;

После этой строки кода у меня было все содержимое cityListTextFile.

Посмотрите это руководство по использованию файлов ресурсовв VB.NET и C # один для развлечения.

1 голос
/ 13 апреля 2011

Зачем помещать так много значений в список во время разработки?Попробуйте добавить время выполнения, чтобы ваш VisualStudio не зависал.

0 голосов
/ 13 апреля 2011

Вы можете запретить перерисовку списка во время его обновления:

 listBox1.BeginUpdate()
 Dim num As Integer
 For num = 1 To 3000
     listBox1.Items.Add("Item " & num.ToString())
 Next num
 ' End the update process and force a repaint of the ListBox.
 listBox1.EndUpdate()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...