【发布时间】:2012-07-17 13:03:14
【问题描述】:
我正在尝试通过从我已经创建的另一个表单继承来创建一个表单。这样做的原因是原来的表单实际上有3个状态,继承结构会更容易调试、理解和改进。
问题是我的 Visual Studio 2008 Forms 设计器不适合这个想法。而不是我可以设计的表单,我收到以下错误消息:
无法为此文件显示设计器,因为其中没有任何类可以设计。设计人员检查了文件中的以下类: InheritedForm --- 无法加载基类“MyBaseForm”。确保程序集已被引用并且所有项目都已构建。
基本上我在设计器中看不到我继承的表单,但原始表单在设计器中可以正常工作。
这非常令人沮丧,所以为了确保问题不是 VS2008 的错,我创建了一个全新的干净的 Forms 项目 (.net 2.0),并创建了一个名为 Form1 的表单和另一个继承自 Form1 的表单 (Form2)。这个项目工作得很好。我可以在设计器中看到 Form1,在我的 Form2 中我可以看到我添加到 Form1 的标签,但不能在 Form2 中移动它,因为它属于 Form 1。
我的测试结果证明我的 Visual Studio 确实可以工作;只是不在我需要它工作的原始项目中。我尝试的另一件事是,当您使用 VS2008 指南创建继承表单时,通过继承选择器创建继承的 From。在我的测试项目中,我可以看到我创建的所有表单,但在我的原始项目中,我无法选择任何东西。我试图浏览到我的 bin 文件夹中的 exe 文件,但它没有给我任何形式可供选择。
我也尝试过重建项目,清理项目并重新启动 VS2008,希望它处于某种奇怪的状态,但没有任何帮助。我不会否认我有一些可能会干扰设计器的奇怪项目设置的想法,因为项目文件有些旧并且有很多文件和元素。但由于我得到的错误描述,我发现这不太可能(仍在调查中)。
无论我在 Google 的搜索字段中输入什么内容或进行链接浏览,我一直在互联网上搜索相同的文章、论坛或博客,但没有成功。你们中的任何人对可能导致我的问题的原因有什么想法或建议吗?非常感谢此时的任何帮助、提示或建议。
提前谢谢你。
【问题讨论】:
-
将您的 MyBaseForm 类编辑到仍然重现此问题的绝对最小值并将其发布在您的问题中。
标签: visual-studio-2008 windows-forms-designer