C# removing/adding TableLayoutPanel 的标签太慢

C# removing/adding labels to TableLayoutPanel is too slow

我有一个 table 布局面板,大约有 150 行。 每行有 6 列,在每一列中我都有一个文本标签。

在我的程序中,我希望用户能够在 运行 时间内决定他想看哪些行,这样他就可以 select 多行,然后说 "remove" 来自 table。 他也可以做​​ "undo" 然后这些行再次出现。

我该怎么做? 我首先动态创建 tlp 和标签:行高设置为 0,标签的可见性设置为 false。 然后用户选择要查看的行,然后我增加行高并将标签的可见性设置为 true。

问题是我有大约 800 个标签,table 需要很长时间才能自行生成...

我确定有办法解决这个问题,但我不知道...

谢谢!

我的解决方案基于@IvanStoev 在他对上一个问题的回答中所写的内容。

这不是最优雅的解决方案,但它确实有效:我只是在开始更新 table 之前添加了一个 tableName.SuspendLayout(); 并在完成更新时添加了 tableName.ResumeLayout(true);,而且它的工作速度要快得多.

如果对此解决方案有任何评论,我们将不胜感激。