高效宣言/创建变量/控制

时间:2010-09-03 13:33:17

标签: c# visual-studio-2008 variables controls declaration

我正在努力清理我几乎已经完成的应用程序,并且我注意到一些令我好奇的原因,就是为什么这样做。虽然您可以在项目中编辑表单中的.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();

2 个答案:

答案 0 :(得分:1)

不要编辑该代码。它是自动生成的,设计者实际上会读回代码以在设计器中重新创建表单。当您进行这样的更改时,您很可能会轰炸设计师并且您的表单变得不可设计。即使您设法避免崩溃,当您在设计器中更改表单时,您的更改也会消失。

区域中标记为“Windows窗体设计器生成代码”的任何内容都是不干涉的。

对这些变化没有任何好处。它生成完全相同的代码。

答案 1 :(得分:0)

在InitializeComponent

中完成后,您可以更好地控制内容

如果您打开.cs文件(而不是设计器)并查看构造函数

public Form1()
{
    InitializeComponent();
}

这样你可以在实例化控件之前执行代码。

如果您只是在声明它们时创建控件,那么您将无法执行此操作...