【发布时间】:2011-11-18 22:09:40
【问题描述】:
我正在尝试制作控件列表。为此,我使用了流布局面板和自定义项。阅读 XML 文件后,我用我的项目填充流布局面板。对于少数项目,一切看起来都还可以,但对于流程布局面板中的 371 个项目,则出现问题。在流程布局面板的底部,缺少 95 个项目,并且接缝重叠。我认为,为这些项目定位的空间仍然是创建的。我附上一个屏幕产生的效果。控件在数组中创建,然后我迭代该数组以将控件添加到流布局面板。
http://img510.imageshack.us/img510/3201/screen2011916213527199.jpg
谢谢。
乐:
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);
}
委托之所以存在,是因为所有这些都发生在一个单独的线程中。 historyItems 是一个控件列表。
LE:如果它很重要,我观察到,如果我从列表中删除一个项目,在列表加载后,它会被安排。尝试一些小技巧,看看在线程末尾添加和删除控件是否没有任何效果。
【问题讨论】:
-
C# 没有 FlowPanel。或任何控件。
-
是关于 Winforms 中的 FlowLayoutPanel。抱歉,缺少标签。