是否有可能告诉Visual Studio不要将源文件视为“组件”?

时间:2010-01-26 10:09:25

标签: c# visual-studio components

  

可能重复:
  Is there an attribute I can add to a class so it will be edited as code, not in the designer?

继承路径上带有System.ComponentModel.Component的类在Visual Studio(2008)中自动被视为“组件”,触发源文件的不同图标:

http://i48.tinypic.com/1z23wvn.png

虽然图标并不重要,但改变后的双击行为确实很烦人:Visual Studio现在显示的是一个屏幕,鼓励我通过拖动它来“添加组件”,而不是在文本编辑器中打开源代码。工具箱“。我不想那样做!

我知道我可以右键单击源文件并选择“查看代码”,但每当我忘记这样做时,我就会等待一个绝对没用的对话框。有没有办法禁用组件行为(最好是在源代码中)?

3 个答案:

答案 0 :(得分:45)

您不能使用DesignerCategory属性来装饰您的课程吗?

使用如下所示的此属性装饰您的课程时,双击时该文件应在“代码视图”中打开:

[System.ComponentModel.DesignerCategory("Code")]
public class MyComponent
{
}

答案 1 :(得分:4)

正如OregonGhost在他的评论中已经提到的那样,如果你从表单中创建一个部分类文件,也会发生这种情况。

问题更加严重。如果您查看项目文件,您可以找到每个文件的条目,包括:

<Compile Include="FormMain.cs">
  <SubType>Form</SubType>
</Compile>

所以解决方案应该是删除行<SubType>...</SubType>,因为它似乎是所有问题的根源。但是如果你删除这一行,保存文件,在Visual Studio中打开它,再次保存并重新看一下,该行将重新出现!

在Visual Studio中似乎只有一个硬编码异常,这是* .Designer.cs。所以没有办法解决这个问题。

答案 2 :(得分:0)

您可以右键单击源文件,选择“查看代码”,然后单击“设为默认值”。这是一个钝器,但如果你的解决方案中有比实际组件更多的假组件,那么你可能会发现它很方便。