Я пытаюсь составить список элементов управления. Для этого я использовал панель макета потока и пользовательский элемент. После прочтения XML-файла я заполняю панель макета потока своими элементами. Для небольшого количества элементов все выглядит нормально, но для числа, такого как 371 элемент на панели макета потока, что-то не так. В нижней части панели макета потока 95 элементов отсутствуют, и швы должны перекрываться. Пространство, расположенное для этих предметов, я думаю, еще создано. Я прикрепляю экран с произведенным эффектом. Элементы управления создаются в массиве, а затем я повторяю этот массив, чтобы добавить элементы управления на панель макета потока.
http://img510.imageshack.us/img510/3201/screen2011916213527199.jpg
Спасибо.
LE:
public delegate void AddHistoryItemDelegate(Control itm);
public void AddHistoryItem(Control itm)
{
if (InvokeRequired)
{
Invoke(new AddHistoryItemDelegate(AddHistoryItem), new object[] { itm });
}
else
{
flowLayoutPanel1.Controls.Add(itm);
}
}
foreach (Control c in histroryItems)
{
controls++;
backgroundWorkerLoadHistory.ReportProgress(controls);
//flowLayoutPanel1.Controls.Add(c);
AddHistoryItem(c);
}
Делегат присутствует, потому что все это происходит в отдельном потоке. histroryItems представляет собой список элементов управления.
LE: Если это имеет значение, я заметил, что, если я удаляю элемент из списка, после загрузки списка, это организовано. Попытка немного взломать, чтобы увидеть, если добавление и удаление элемента управления в конце потока, не имеет никакого эффекта.