代码之家  ›  专栏  ›  技术社区  ›  I. J. Kennedy ShankarSangoli

在VisualStudio中禁用设计器?

  •  29
  • I. J. Kennedy ShankarSangoli  · 技术社区  · 15 年前

    我正在使用Visual C#Express编写Windows窗体应用程序,并称我为老派,但我不喜欢设计师。这是一个讨厌的东西,它污染了我的项目,有很多不需要的文件,以及不需要的猴子生成的源代码。

    6 回复  |  直到 10 年前
        1
  •  100
  •   JotaBe    7 年前

    [System.ComponentModel.DesignerCategory("")] 属性,以避免双击时激活设计器。

    请注意,包括 System.ComponentModel 在文件的顶部,然后只添加属性作为 [DesignerCategory("")]

        2
  •  29
  •   Richard    15 年前

    在项目文件上单击鼠标右键,然后选择“打开方式”,可以设置打开文件类型的默认值。

        3
  •  7
  •   Keith Mattix    13 年前

    实际上,在VS2010中,您只需右键单击所需的.cs文件 不要 要在设计器中打开,请选择“使用..打开”选项,然后将CSharp编辑器设为默认值。请注意,在更改表单视图之前,表单视图是默认视图。

        4
  •  2
  •   Avram    15 年前

    只是

        5
  •  2
  •   fishy_pkat151    14 年前

    弗雷德里克, 一旦您从任何组件继承,studio就会尝试在设计器编辑器中打开它。这是VisualStudio的默认行为。

    如果双击解决方案资源管理器中的文件,则会打开设计器。 所以,如果您总是为刚从组件继承的类使用如此奇怪的设计器,但不包含任何可见的东西,这真的很烦人。

    唯一真正帮助我的是设置这个属性:[System.ComponentModel.DesignerCategory(“”)]

    我不知道这是多么酷的暗示!

    这里有没有人知道一个解决方案,可以避免在某些部分类文件中双击设计器打开(编译时没有重复属性错误?)


    通过在部分表单类上设置DesignerCategory属性,在保存时,解决方案资源管理器会显示一个图标,将该文件标识为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打开的文件命名为.designer.cs)

    (是的,你必须命名一些东西来切换LOL) 似乎有效。

        6
  •  0
  •   Frederik Gheysels    15 年前

    如果您不想使用设计器,那么就不要使用它?

    您可以从头开始创建一个新表单,而无需设计器通过创建一个新的空类来生成任何代码,并让该类从中继承 System.Windows.Forms.Form

    然后,VS.NET可能仍然会指出您的类是一个表单,如果需要,您仍然可以在设计器中打开它。(并在其上放置控件)。