TableLayoutPanel 由于自动调整大小和/或嵌套 TableLayoutPanel 而变慢?

Ver*_*mid 1 c# tablelayoutpanel winforms

我有一些 TableLayoutPanel,其中第一个“层”有 1 列和 10 行,其中一些行包含 UserControl 或另一个具有 2 或 3 列和一些行的 TableLayoutPanel。其中一两个包含另一个 TableLayoutPanel,仅此而已。所以这是嵌套 TableLayoutPanel 的最多 3 个“级别”。其中大部分设置为自动调整大小,因为某些用户控件可能会更改其大小。当表单包含这样一个嵌套的 TableLayoutPanel 时,UserControls“闪烁”,看起来它们加载非常缓慢。

  • 我是否使用过多的自动调整大小?
  • 还是我的面板嵌套太多?

Muk*_*Ran 6

我认为闪烁与“自动调整大小”或“嵌套面板”无关。

请参考另一个“SO”链接:如何避免在 c#.net 中的 TableLayoutPanel 中闪烁

暂停布局,直到您添加了所有控件。

TableLayoutPanel panel = new TabelLayoutPanel();

panel.SuspendLayout();

// NOW add controls (including nested-controls) -- do autosizing etc

panel.ResumeLayout();
Run Code Online (Sandbox Code Playgroud)

也看看使用双缓冲。您必须创建TableLayoutPanel. 查看示例

希望这可以帮助。