我TableLayoutPanel在 C# (Forms) 中使用。我的桌子很大,有 33 列和 8 行。所有单元格都包含Label-objects。
我已经DoubleBuffered = true;通过创建一个新的子类来设置我的 TableLayoutPanel:
public class DoubleBufferedTableLayoutPanel : TableLayoutPanel
{
public DoubleBufferedTableLayoutPanel()
{
DoubleBuffered = true;
}
}
如果用户按下按钮 X,则删除所有单元格控件并将其他标签加载到表中(从包含所有 Label 对象的数组)。
删除:this.table.Controls.Remove(this.table.GetControlFromPosition(col, row));
添加:this.table.Controls.Add(this.labelArray[row, (col+pos)], col, row);
一切正常,除了删除控件和添加新控件的过程需要五到十秒钟。
除了设置DoubleBuffered = true以加快此过程之外,还有其他方法吗?