2011-11-11 97 views
6

我有使用VS2008设计器从Windows.Form类派生的类A.当我双击Visual Studio解决方案资源管理器中的文件名时,表单设计器将打开。这是所需的行为。在Visual Studio 2008中禁用派生类的设计器

我有第二个B类,从A(手动)派生。这个类是纯代码 - 它增加了一些功能,但表单是相同的 - 但是如果我在Visual Studio Solution Explorer中双击它的文件名,它将打开表单设计器。 这是不想要的行为,特别是因为我需要生成类似的派生类C-Z。

是否有强制文件始终在代码编辑器中打开的方法?我知道两项拟议的解决方法:

  1. 给B级属性:[System.ComponentModel.DesignerCategory(“”)]

    这似乎根据各种帖子在过去的工作,但对我的情况似乎没有任何影响。 VS环境仍尝试为该类打开一个表单设计器。

  2. 重命名源文件meaningfulname.Designer.cs

    这...好,它只是不漂亮,是吗?

解决方案(1)是否仍然有效?如果是这样,我可能会做错什么?

或者还有其他解决方案吗?

回答

9

尝试使用[System.ComponentModel.DesignerCategory("Code")]代替。

+0

我也试过,但没有成功。 B被设置为从A派生,环境将其归类为GUI类。删除基类,然后切换回来。 – MZB

+1

@MZB:看起来您必须在属性中使用完全限定名称,您确定您正在执行此操作吗?否则,我没有建议。 –

+1

天才,先生!你是对的。导入System.ComponentModel后,我没有使用完全限定的路径。一个奇怪的微软漏洞... – MZB

相关问题