我正在努力清理我几乎已经完成的应用程序,并且我注意到一些令我好奇的原因,就是为什么这样做。虽然您可以在项目中编辑表单中的.Designer.cs,但是有很多自动生成的东西,例如变量和控件的创建。他们拥有Windows窗体设计器生成的代码,几乎没有被我触及过。但是当我以我喜欢的格式制作变量时:
string strValue1,
strValue2;
与:相比:
string strValue1;
string strValue2;
我注意到Windows声明文件底部的控件然后在InitializeComponent()函数中创建/实例化它们。现在,我知道我可以接受“新”实例并将它们放在声明所在的位置,它似乎运行正常。我的问题是一个人的好处是什么?或者它是这样的,所以Windows可以为我们自动生成它们?如果有可能以一种方式比另一种更好地表现,我想知道。谢谢大家的帮助。
示例1:
private void InitializeComponent()
{
...
this.control1 = new System.Windows.Forms.Control();
...
}
...
System.Windows.Forms.Control control1;
示例2:
private void InitializeComponent()
{
...
}
...
System.Windows.Forms.Control control1 = new System.Windows.Forms.Control();
答案 0 :(得分:1)
不要编辑该代码。它是自动生成的,设计者实际上会读回代码以在设计器中重新创建表单。当您进行这样的更改时,您很可能会轰炸设计师并且您的表单变得不可设计。即使您设法避免崩溃,当您在设计器中更改表单时,您的更改也会消失。
区域中标记为“Windows窗体设计器生成代码”的任何内容都是不干涉的。
对这些变化没有任何好处。它生成完全相同的代码。
答案 1 :(得分:0)
在InitializeComponent
中完成后,您可以更好地控制内容如果您打开.cs文件(而不是设计器)并查看构造函数
public Form1()
{
InitializeComponent();
}
这样你可以在实例化控件之前执行代码。
如果您只是在声明它们时创建控件,那么您将无法执行此操作...