我需要添加很多控件到父控件。为什么添加SuspendLayout和ResumeLayout会降低性能?
但我发现,如果我之前添加ParentControl.SuspendLayout
和ParentControl.ResumeLayout
后,我添加这些控件到父,我用秒表来测量刻度: 如果我删除代码ParentControl.SuspendLayout
和ParentControl.ResumeLayout
,它会更快。为什么会发生?因此SuspendLayout
和ResumeLayout
不应该减少添加子控件的时间,对吧?那么使用SuspendLayout
和ResumeLayout
或换句话说,如果我不使用SuspendLayout
和ResumeLayout
,但直接将子控件添加到父母,有什么不好?
您添加了多少个控件?如果仅仅是几个,那么就没有必要,但是如果你增加了数百/数千,你就更有可能看到差异。另外,如果你计算了两次的差别,它只是一小部分(足够在执行时间内随机变化)还是真的很重要? – Servy
您使用哪种类型的控件?类似的问题在[这里]描述(http://www.clubfarpoint.com/Forums/forums/thread/32939.aspx)。 – Neolisk
是的,我添加了数百个控件。 – spspli