gpt4 book ai didi

c# - TableLayoutPanel 极慢

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:10 26 4
gpt4 key购买 nike

我在 C#(窗体)中使用 TableLayoutPanel。我的表格很大,有 33 列和 8 行。所有单元格都包含 Label 对象。

我已经通过创建一个新的子类设置了我的 TableLayoutPanel 的 DoubleBuffered = true;:

public class DoubleBufferedTableLayoutPanel : TableLayoutPanel
{
public DoubleBufferedTableLayoutPanel()
{
DoubleBuffered = true;
}
}

如果用户按下按钮 X,将删除所有单元格控件并将其他标签加载到表中(从包含所有标签对象的数组)。

删除:this.table.Controls.Remove(this.table.GetControlFromPosition(col, row));

添加:this.table.Controls.Add(this.labelArray[row, (col+pos)], col, row);

一切正常,除了删除控件和添加新控件的过程需要五到十秒。

除了设置 DoubleBuffered = true 之外,还有其他方法可以加快此过程吗?

最佳答案

使用这段代码可以避免 C# 中事件处理缓慢

tableLayoutPanel1.Visible = false;
tableLayoutPanel1.Controls.Clear();
tableLayoutPanel1.SuspendLayout();

// Processing Code

tableLayoutPanel1.ResumeLayout();
tableLayoutPanel1.Visible = true;

关于c# - TableLayoutPanel 极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18894361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com