Я искал в Интернете способ сделать это без особого успеха, поэтому вот вопрос.
Как добавить элементы в список в отдельном потоке, чтобы он не зависал в пользовательском интерфейсе? Каждый раз в списки добавляется примерно 5-15 тысяч элементов, и каждый раз пользовательский интерфейс зависает на 5-12 секунд.
Форма имеет 4 списка, информация для этих списков сначала создается и добавляется в 2D-массив (это упрощает отслеживание всей информации, которая находится вместе в 1 строке). после чего я перебираю этот 2D-массив, добавляя 4 столбца в 1 строку в соответствующий список.
eg.
for (int n = 0; n < 7500; n++)
{
listBox1.Items.Add(itemList[n, 0].ToString());
listBox2.Items.Add(itemList[n, 1].ToString());
listBox3.Items.Add(itemList[n, 2].ToString());
listBox4.Items.Add(itemList[n, 3].ToString());
}
Как указывалось ранее, как использовать поток, отличный от пользовательского интерфейса, для обновления этих списков, чтобы предотвратить ненужное зависание пользовательского интерфейса.