2013-03-01 148 views
0

现在,我的用户控件我右键单击解决方案资源管理器中的控件,然后选择'查看代码'。然后,在所有类的元素都在下拉框中枚举的右上角,我选择了灰色的构造函数,这将我带到我正在寻找的自动生成的.designer.cs文件中。如何在Visual Studio中查看自动生成的c#控件的设计器代码?

我觉得这是一个非常圆滑的做法,它不适合我。我应该在避免编辑这些文件方面做得更好?他们难以达到目的,还是我明显错过了Visual Studio中的一些简单内容?

+1

为什么要编辑这些文件?查看它们很好,但我会避免编辑它们。 – 2013-03-01 20:52:35

+0

因为有时我以编程方式将GUI控件的内容设置为手动枚举下拉框是一种痛苦,并且在Visual Studio中使用内置集合目前对我而言仍然是未知的。 – anon58192932 2013-03-01 21:01:48

回答

2

您应该很简单地能够使用Solution Explorer的树视图来扩展用户控件项并查看代码隐藏和设计器文件。

这是好奇的,所以我不知道用户控件(任何特定的项目类型)?

至于避免编辑这些自动生成的文件:是的,你应该疲倦于此,并尽可能避免它。如果代码重新生成,您的更改将会消失(不是很可能是用户控件,我想),并且生成它的工具的开发人员不能担保它的工作原样,如果需要编辑。

但是,有些时候您确实想要编辑这些类型的文件。所以用你自己的判断来评估这样做的价值。我发现自己经常沉浸在DBML设计器文件中,以便删除与我自己在部分定义中冲突的默认构造函数,并没有找到另一种方法来执行我想要的操作。情况就是这样。

+0

嗯,这是令人尴尬的,因为我只是从来没有点击解决方案资源管理器中控件侧面的小胡萝卜。显然这是简单的东西,一直以来我失踪了,谢谢:) 这些事情发生在你没有训练的情况下进入新的环境:P – anon58192932 2013-03-01 20:54:05

1

编辑自动生成的代码从来就不是一个好主意。原因是代码可以在任何时候生成,并且您的更改将会丢失。如果真的,真的需要编辑代码,你应该这样做使用部分类。但95%的时间不需要首先编辑自动生成的代码。你试图完成什么?

+0

虽然我的变化并没有迷路。我只在自动生成的窗体内部的构造函数中进行更改,而不是在InitializeComponent()函数内部进行更改。如何在不使用自动生成的文件的情况下将代码添加到构造函数中? – anon58192932 2013-03-01 21:03:38

+1

阅读部分课程。 – Caimen 2013-03-01 21:15:02

0

一个简单的方法:让我们假设你有一个标签控制叫做Label1

如果从来没有真正在你的代码中使用,将使用它的地方,在你的方法之一,一些代码:

private void Test() { 
    Label1.Text = null; 
} 

现在,把你的光标放在Label1控制和按F12。这会带你到Label1的定义

希望有帮助!

+0

这是一个解决方法,但它确实会起作用。 – anon58192932 2013-03-01 21:04:56

+1

关键是,只需选择控件,方法或类名称,然后点击'F12' – jp2code 2013-03-01 21:08:38

相关问题