2009-12-28 113 views
5

我有一个恼人的问题。有时Visual Studio在解决方案资源管理器中不显示选项“视图设计器”用于我的一些表单。它不显示设计模式错误,只是不显示使用设计器的选项。当发生这种情况时,我无法找出确切的案例。有没有人对导致解决方案资源管理器这种行为的原因有一些想法?Visual Studio表单设计师

+0

什么版本的VS?如果是VS 2005,请确保您正在运行最新的SP。 – 2009-12-28 16:20:13

+0

是否正在尝试使用可视继承进行设计的任何形式?如果你打开代码编辑器并按下F7,会发生什么情况? – Rory 2009-12-28 16:20:31

+0

@Rory:你的意思是Shift + F7。 – SLaks 2009-12-28 16:21:12

回答

3

您的表单可能会继承自定义表单类。

有些时候VS没有意识到自定义类继承Form。 (例如,如果解决方案没有建立)。

尝试重建解决方案。

如果您想要更精确的答案,请提供更多详细信息。

+0

是的,它似乎是问题..将基类型更改为Form,然后返回MyCustomDialog有帮助,但有没有办法让VS分析我的表单是否为表单? – ironic 2009-12-28 16:23:13

+0

更奇怪的是,MyCustomDialog位于库中,在构建过程中很长时间没有失败。 – ironic 2009-12-28 16:27:35

+1

尝试清理并重建解决方案,它始终用于解决此问题。 – Rory 2009-12-28 16:31:04

1

我曾经在VS 2003中遇到过这个问题。每次它发生时,我都会在记事本中打开.csproj文件,并将该类更改回“Form”。

0

我有这个问题,并找到了解决方案。不知何故,我的.csproj文件被损坏,并且丢失了XML中的一个子项。例如说我有一个用户控件称为MyControl.cs,我在.csproj的损坏XML看起来像:

<Compile Include="MyControl.cs" /> 

我固定它,所以它现在读取:

<Compile Include="MyControl.cs"> 
    <SubKey>UserControl</SubKey> 
</Compile> 

MyControl.cs倒像是(这只是为了完整性):

public partial class MyControl : UserControl 
{ 
} 

做出更改并保存Visual Studio现在正确读取我的控件并加载设计器。我不知道这个文件如何被破坏。

4

我也有这个问题,我修改了.csproj文件来修复它。 以我的.csproj文件I改性这行代码:

<Compile Include="FormName.cs" /> 

有了这个代码:

<Compile Include="FormName.cs"> 
    <SubType>Form</SubType> 
</Compile> 
5

如果源文件中的第一类是NOT的“部分类,这将发生“为你的形式。在这种情况下,解决方案资源管理器中的文件类型图标最初将显示为表单,但VS会在加载文件后将其更改为“C#”代码图标,并从弹出菜单中删除“视图设计器”选项。至少在VS2015中,这可以通过注释不合适的代码并保存文件来解决,VS会在哪个时间恢复预期的表单图标。

+0

这绝对是我的问题。好决定。 – 2017-02-12 14:35:39

0

如果文件中有多个类(对你不好意思),请确保Form类是文件中的第一个类。 (不要问我怎么知道这个。)

相关问题