我正在使用Visual C#Express编写Windows Form应用程序,并称我为旧学校,但我不喜欢这位设计师。这是一个令人讨厌的问题,污染了我的项目,包含大量不需要的文件,以及不需要的猴子生成的源代码。
请告诉我有办法完全关闭它。
答案 0 :(得分:93)
在UI类之前添加[System.ComponentModel.DesignerCategory("")]
属性,以避免双击时激活设计器。
请注意,在文件顶部包含System.ComponentModel
,然后仅将属性添加为[DesignerCategory("")]
将不起作用(至少在Visual Studio 2010/2013中不起作用)。您必须使用完整的,名称空间限定的属性类型名称。
答案 1 :(得分:27)
右键单击项目文件并选择打开,允许您设置打开文件类型的默认值。
答案 2 :(得分:5)
实际上,您在VS2010中所要做的就是右键单击您不想想要在设计器中打开的.cs文件,选择“打开方式...”选项,然后制作CSharp编辑器默认。请注意,在您更改表单视图之前,它是默认值。
答案 3 :(得分:2)
只是不要添加“新表单”,添加到项目新类并从Form类继承他。
答案 4 :(得分:2)
弗雷德里克, 确定你是对的,但不是一个事实。 (这个I.J想知道) 一旦从任何Component继承,工作室就会尝试在设计器编辑器中打开它。这是visual studio的默认行为。
如果双击解决方案资源管理器中的文件,则会打开设计器。 所以,如果你总是为那些只是从Component继承的类获得这样的奇怪设计器,但是不包含任何可见的东西,那真的很烦人。
唯一真正帮助我的是设置此属性:[System.ComponentModel.DesignerCategory(“”)]
我不知道这个=)这么酷的提示!
我刚刚遇到部分MainForm类的问题。然后它大喊“重复属性”......
这里有没有人知道一个解决方案,以避免在某些部分类文件中双击打开设计器(编译时没有重复属性错误?)
我想在VS2005中发现了一个小bug ... 通过在部分表单类上设置DesignerCategory-Attribute,在保存时,解决方案资源管理器会显示一个图标,将文件标识为c#文件(无表单)。
然后我在属性前放了一个注释(//) - 它会在代码视图中不断打开文件。在关闭并重新打开之后,它也会在内部存储为不可设计的表单部分。 即使重新打开完整的解决方案。
所以我认为解决方案或项目文件中有任何信息......
...我在.csproj文件中找到了这个: ...
<Compile Include="GUI\VFormMain_Test.cs">
</Compile>
<Compile Include="GUI\VFormMain_Theme.cs">
</Compile>
<Compile Include="Core\VTTEnv.cs" />
<Compile Include="GUI\VFormMain.cs">
<SubType>form</SubType>
</Compile>
...
Studio不时更新 - 然后它再次更新表单文件(doh)...确定..但是可能有一种解决方法可以避免这种情况。
...剪断 最后编辑... 找到了一些东西:
http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/64c77755-b0c1-4447-8ac9-b5a63a681b78
(将您想要打开的文件命名为.Designer.cs)
(是的,你必须命名一些东西来改变LOL) 似乎工作。
答案 5 :(得分:0)
如果您不想使用设计器,那么不要使用它?
您可以从头开始创建新表单,而设计人员无需通过创建新的空类来生成任何代码,并让该类继承自System.Windows.Forms.Form
然后,VS.NET可能仍会指示您的类是一个Form,如果您愿意,您仍然可以在设计器中打开它。 (并放下控件)。