gpt4 book ai didi

C#:ResumeLayout(true) 与 ResumeLayout(false) + PerformLayout() 的作用相同吗?

转载 作者:可可西里 更新时间:2023-11-01 08:45:21 25 4
gpt4 key购买 nike

我查看了 FormUserControl 生成的设计器代码,在 InitializeComponent() 方法中它们总是以

    this.SuspendLayout();

结束于

    this.ResumeLayout(false);
this.PerformLayout();

但是从我在这些方法的 msdn 文档中看到的,不会以

结尾
    this.ResumeLayout(true); // Or just this.ResumeLayout()

做同样的事情?或者我在这里遗漏了什么?

询问是因为我将以不同的方法添加一堆控件,并且我认为我应该执行挂起-恢复例程,这样既好又高效。但是无法弄清楚这两个方法调用的原因是什么,而您似乎只能使用一个方法...

最佳答案

使用反射器:

this.ResumeLayout() is equal to this.ResumeLayout(true)

但是

this.ResumeLayout(true) is not equal to this.ResumeLayout(false) + this.PerformLayout()

原因:
当使用 false 调用 ResumeLayout 时,会循环遍历一个控件集合,LayoutEngine 会在布局中的每个控件上调用 InitLayout。

关于C#:ResumeLayout(true) 与 ResumeLayout(false) + PerformLayout() 的作用相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1339758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com