我有一个很烦人的问题。有时候在解决方案资源管理器中,Visual Studio不会显示某些窗体的“查看设计器”选项。它不会显示设计模式错误,只是没有显示使用设计器的选项。我无法确定发生这种情况的确切情况。是否有人对解决方案资源管理器出现这种行为的原因有一些想法?
如果源文件中的第一个类不是您表单的“部分类”,则会发生这种情况。在这种情况下,解决方案资源管理器中的文件类型图标最初将显示为表单,但在加载文件后,VS将将其更改为“C#”代码图标,并从弹出菜单中删除“查看设计器”选项。至少在VS2015中,可以通过注释掉有问题的代码并保存文件来修复此问题,此时VS将恢复预期的表单图标。
我也遇到过这个问题,我修改了.csproj文件以解决它。在我的.csproj文件中,我修改了以下代码行:
<Compile Include="FormName.cs" />
使用以下代码:
<Compile Include="FormName.cs">
<SubType>Form</SubType>
</Compile>
Form
。我曾经在VS 2003中经常遇到这个问题。每次发生这种情况,我都会在记事本中打开.csproj文件,并将该类的“类型”更改回“Form”。
<Compile Include="MyControl.cs" />
我已经修复了它,现在它应该是这样的:
<Compile Include="MyControl.cs">
<SubKey>UserControl</SubKey>
</Compile>
MyControl.cs 读起来像这样(这只是为了完整性):
public partial class MyControl : UserControl
{
}
在进行了这个更改并保存后,Visual Studios 现在可以正确读取我的控件并加载设计器。我不知道这个文件是如何损坏的。
曾经遇到过Visual Studio 2017的同样问题。
我找到了以下解决方案:
按照user2205930建议的方法进行操作可能会使您保持自定义类位于表单顶部。