Я искал в Интернете способ сделать это без особого успеха, поэтому вот вопрос.
Как добавить элементы в список в отдельном потоке, чтобы он не зависал?
Каждый раз в списки добавляется примерно 5-15 тысяч элементов, и пользователь каждый раз останавливает интерфейс на 5-12 секунд.
Форма имеет 4 списка, информация для этих списков сначала создается и добавляется в двумерный массив (таким образом упрощается отслеживание всей информации, которая содержится в одной строке). после чего я зацикливаюсь на этом двумерном массиве, добавляя 4 столбца в 1 строке к соответствующему списку.
например.
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());
}
Как указано выше, как использовать поток, отличный от пользовательского интерфейса, для обновления этих списков, чтобы предотвратить ненужное зависание пользовательского интерфейса