我需要为每个子控件都调用SuspendLayout吗?

14

找不到任何关于此的信息。我的控件渲染非常缓慢,我注意到在进行重大更新时没有调用SuspendLayout

我的疑问是,由于顶级控件包含包含其他控件的控件,因此在顶级控件上调用SuspendLayout是否也会暂停每个嵌套控件的布局,还是需要为每个控件单独调用它?


我猜那不是问题所在。这是在加载表单时吗,还是通常情况下?这些是您创建的自定义控件吗? - Brandon Moore
@BrandonMoore:是的,这些是自定义控件,我正在尝试找到其他问题,但如果你知道我的问题的答案,请让我知道,因为我之前就想知道这个问题的答案,这样我就可以排除这个选项了。 - Juan
2个回答

21

请参考这篇MSDN文章 - 提高Windows Forms应用程序性能的实用技巧.

文章内容:请记住,SuspendLayout只会针对具体的控件阻止 Layout 事件。例如如果在一个面板中添加了控件,那么必须为该面板调用 SuspendLayout 和 ResumeLayout 方法,而不是为父窗体调用。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接