无法在vb.net中查看表单设计器

时间:2011-06-23 18:09:09

标签: vb.net

我使用MS visual studio 2010.我确实打开了设计器并查看了之前相同文件A的表单。但经过一些小的改动后,我再也无法查看表单designer.vb,但只能查看designer.vb中的代码。即使我回到原始来源,我仍然无法打开设计师!!

错误是: 无法为此文件显示设计器,因为其中的所有类都无法设计。设计者检查了文件A中的以下隐藏 - 无法加载基类BaseClass。确保已引用程序集并已构建所有项目。

我检查过文件A是否继承自BaseClass。 BaseClass有一个简单的形式,可以由设计师查看。我有一个成功的构建。实际上,我可以正确运行程序。我甚至尝试删除bin和对象然后构建,但没有任何帮助。

我有很多文件无法在designer.vb中打开。这是在杀我!我怎样才能对表单进行更改呢?直接将代码写入designer.vb?但许多人建议不要直接在designer.vb中编写代码

15 个答案:

答案 0 :(得分:4)

使用Project + Add Class将类添加到项目中,不要将它们放在表单的源代码文件中。如果必须将它们添加到底部或嵌套在表单类中,请不要将它们放在表单类声明之前。表单类必须是第一个。

答案 1 :(得分:3)

我遇到了同样的问题,要解决它,使用此命令运行程序以清除跳过加载到VSPackages的所有选项:

"C:\Program Files\Microsoft Visual Studio 8.0\Common7\IDE\devenv.exe" /ResetSkipPkgs

答案 2 :(得分:2)

点击"显示所有文件"解决方案资源管理器顶部的图标,您将看到Designer.vb文件

答案 3 :(得分:1)

您也可以尝试这样做:

  • 关闭所有UI设计页面
  • 清洁解决方案
  • 构建解决方案
  • 打开所需的UI设计页面

这可能会有所帮助,也可能没有帮助,但它确实在我的项目中解决了同样的问题。

答案 4 :(得分:1)

我也遇到过在我的项目解决方案中显示xxx.Designer.vb,xxx.resx和xxx.vb的情况。为了解决这个问题,我备份了我的解决方案/项目(非常非常重要),然后删除了我的解决方案资源管理器中找到的3 xxx文件。然后,我从备份中选择并复制了3 xxx文件,并使用Windows资源管理器将它们粘贴到我的项目的文件夹中。 (确保您粘贴到的文件夹是解决方案中显示的文件夹。粘贴后我回到项目中,然后到原始xxx文件所在的文件夹,右键单击该文件夹并单击添加 - 现有项目然后单击xxx.vb文件。修复。希望这对你有用。

答案 5 :(得分:1)

当您使用表单代码时,请点击查看>设计师,它会出现。

答案 6 :(得分:0)

我终于可以通过这样做来查看设计师中的表单:

在我的form_designer.vb中,

现有代码:

继承Base_Class'Base_Class在我的项目中定义

更改为:

继承表单'表单由windows

定义

然后我可以在设计师中查看表单!!!

当然,由于继承不正确,我无法成功构建文件。但我可以先在form_designer中编辑,然后再改回'Inherits Base_Class'并构建或编译

答案 7 :(得分:0)

我有同样的问题,虽然我的问题是因为我混淆了我的项目文件。在去混淆和重建之后,它似乎有效。

答案 8 :(得分:0)

如果你不能查看设计但只能查看代码 关闭VS转到项目目录,在那里找到表单,在任何文本编辑器中打开它,并在顶部添加类名为public,例如

Public Class FrmSettings

End Class

就是这样,现在你可以在VS设计中查看表单了

答案 9 :(得分:0)

我解决了这个问题。问题是VB将一个额外的文件保存在一个文件夹中,该文件夹与您用来保存图像的文件夹不同

执行以下操作:

  1. 打开没有加载的VB
  2. 转到文件 - >打开 - >项目/解决方案(左上角的下拉菜单)
  3. VB将显示一个与您拥有文件的文件夹不同的文件夹。显示的其中一个文件夹与您最初保存的项目名称相同(例如:Project1)。双击该文件夹以将其打开。您将看到以项目命名的* .sln文件(例如:Project1.sln)。双击它打开它
  4. 现在您将看到表单的设计视图!!!
  5. KEY CONCEPT:打开* .sln文件(xxx.sln)而不是xxx.Designer.vb,xxx.resx和xxx.vb文件! xxx.sln文件位于不同的目录中(与xxx.Designer.vb,xxx.resx,xxx.vb不同)。

    在我的电脑中,神奇的目录是: C:\ Users \ Gabriel Personal \ Documents \ Visual Studio 2017 \ Projects

    祝你好运!!!!

答案 10 :(得分:0)

起初,我为我糟糕的英语道歉。

这对我有用:

如果您在项目中添加一个空表单,可以双击它,然后您可以看到以下内容:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

结束班

你看不到其他形式的代码,可能是因为这个类已经消失了(无法解释原因)

只需恢复此类,即可更改类定义中的表单名称。然后,你可以看到设计师。

答案 11 :(得分:0)

这是一个老问题,(关于VS 2010),但是我在VS 2017中遇到了同样的问题,Google搜索引领我到这里。 如果您尝试从较旧的VS打开项目而不进行升级/转换过程,则VS 2017中也会出现此问题。例如,如果您告诉VS 2017打开文件夹而不是打开解决方案或项目 我注意到当它作为文件夹打开时,VS 2017试图按逻辑排列。你甚至可以运行程序(至少我可以,在这种情况下它是一个用VS 2010编写的VB控制台应用程序)。我可以通过双击Form.VB文件来查看代码/代码视图,但没有组合可以让我看到表单设计器。解决方案是退出并重新打开作为现有解决方案。这导致了正确的转换步骤,现在我可以看到表单/表单设计器以及代码。也许这会对某人有所帮助。

答案 12 :(得分:0)

如果你在??? Form.vb代码中有任何其他类,那么确保它们是在Form类之后定义的。这解决了我的问题。

答案 13 :(得分:0)

我知道此线程可能很旧,但是以防万一有人在适当的时候遇到相同的问题,这是解决方案。

  1. 在解决方案资源管理器中,单击“ yourformname.Designer.vb”以显示缺少的表单设计器的代码布局,这将显示在左窗格(vs17)中。

  2. 这次双击步骤1中缺少设计器的表单,这将在左窗格中显示一个空的代码窗口。

  3. 在空代码窗口中,键入以下声明:Public Class“ yourformname”,然后按键盘上的Enter键。这样,将在下面自动添加结束比赛的结束类。

景气,那里的设计师又回来了。保存所做的编辑,并记住如果对您有用,请对其投票。仍然有问题的任何人都可以随时在这里回应,我们很乐意为您解决。

答案 14 :(得分:0)

对于我来说,问题出在将表单放入命名空间然后取出来时。 FrmXYZ.vb在项目文件中丢失了正确的生成信息。要修复它,我右键单击解决方案资源管理器中的项目,选择“卸载”,然后选择“编辑”。我按名称搜索表格。首先,我找到了有关FrmXYZ.Designer.vb的编译部分。如下所示:

<Compile Include="Forms\FrmXYZ.Designer.vb">
   <DependentUpon>FrmXYZ.vb</DependentUpon>
</Compile>

一切都很好。接下来的部分是表单文件FrmXYZ.vb。这是我的问题。它读到,

<Compile Include="Forms\FrmXYZ.vb" />

我将其更改为以下内容,以使Visual Studio知道它是一种形式:

<Compile Include="Forms\FrmXYZ.vb">
  <SubType>Form</SubType>
</Compile>

然后我保存文件,关闭文件,右键单击项目,然后选择“重新加载项目”。

(对我来说)问题解决了。