我使用MS visual studio 2010.我确实打开了设计器并查看了之前相同文件A的表单。但经过一些小的改动后,我再也无法查看表单designer.vb,但只能查看designer.vb中的代码。即使我回到原始来源,我仍然无法打开设计师!!
错误是: 无法为此文件显示设计器,因为其中的所有类都无法设计。设计者检查了文件A中的以下隐藏 - 无法加载基类BaseClass。确保已引用程序集并已构建所有项目。
我检查过文件A是否继承自BaseClass。 BaseClass有一个简单的形式,可以由设计师查看。我有一个成功的构建。实际上,我可以正确运行程序。我甚至尝试删除bin和对象然后构建,但没有任何帮助。
我有很多文件无法在designer.vb中打开。这是在杀我!我怎样才能对表单进行更改呢?直接将代码写入designer.vb?但许多人建议不要直接在designer.vb中编写代码
答案 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)
您也可以尝试这样做:
这可能会有所帮助,也可能没有帮助,但它确实在我的项目中解决了同样的问题。
答案 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将一个额外的文件保存在一个文件夹中,该文件夹与您用来保存图像的文件夹不同
执行以下操作:
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)
我知道此线程可能很旧,但是以防万一有人在适当的时候遇到相同的问题,这是解决方案。
在解决方案资源管理器中,单击“ yourformname.Designer.vb”以显示缺少的表单设计器的代码布局,这将显示在左窗格(vs17)中。
这次双击步骤1中缺少设计器的表单,这将在左窗格中显示一个空的代码窗口。
在空代码窗口中,键入以下声明: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>
然后我保存文件,关闭文件,右键单击项目,然后选择“重新加载项目”。
(对我来说)问题解决了。