1

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

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

1 回答 1

6

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

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

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

TableLayoutPanel panel = new TabelLayoutPanel();

panel.SuspendLayout();

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

panel.ResumeLayout();

还要看看使用双缓冲。您必须创建TableLayoutPanel. 看一个例子

希望这可以帮助。

于 2013-03-28T22:18:38.003 回答