繁体   English   中英

为什么在c#winforms中的SuspendLayout之前初始化组件

[英]why initialized components before SuspendLayout in c# winforms

我正在用C#.Net fw-3.5设计Windows窗体,

我已经在designer.cs文件中签出了由c#生成的代码

        this.label1 = new System.Windows.Forms.Label();
        this.button1 = new System.Windows.Forms.Button();
        this.textBox1 = new System.Windows.Forms.TextBox();

        this.SuspendLayout();

在SuspendLayout命令之后,将分配所有组件属性。

我的问题:这是在SuspendLayout之前初始化对象的任何特殊原因吗?

这两种方法实际上都不会产生任何变化-这还不像组件已添加到表单中一样,因此不会先放置它们,然后暂停布局,然后更改所有内容。

我怀疑,如果所有变量都被分配然后使用,这将使生成代码更容易,而不是必须确定各个对象之间是否存在任何依赖关系。

因为没有必要事先做。 对象初始化与SuspendLayout调用无关,那么为什么要这么做呢? 甚至自动生成的代码也可以进行逻辑布局。 如果我是手动编写代码,出于相同的原因,我会做同样的事情,因为我声明的变量应尽可能靠近首次使用它们的位置(当然,该示例会使生成过程更加复杂,因此它们只是在开始时对其进行初始化)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM