我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
以加快此过程之外,还有其他方法吗?