evi*_*ish 1 visual-studio-2008 windows-forms-designer
我正在尝试通过从已经创建的另一个表单继承来创建表单。原因是原始表单实际上具有3个状态,并且继承结构将使调试,理解和改进变得更容易。
问题是我的Visual Studio 2008表单设计器对这个想法不太满意。我可以设计出一条错误消息,而不是表格:
无法显示该文件的设计器,因为无法设计其中的所有类。设计人员检查了文件中的以下类:InheritedForm ---无法加载基类'MyBaseForm'。确保已引用该程序集,并且已构建所有项目。
基本上,我在设计器中看不到继承的表单,但是原始表单在设计器中可以正常工作。
这非常令人沮丧,因此为确保问题不是VS2008的问题,我创建了一个全新的干净Forms项目(.net 2.0),并创建了一个名为Form1的表单以及一个从Form1继承的表单(Form2)。该项目工作正常。我可以在设计器中看到Form1,也可以在Form2中看到添加到Form1的标签,但是由于它属于Form 1,所以无法在Form2中移动它。
测试的结果证明了我的Visual Studio确实可以运行。只是不在我需要它才能工作的原始项目中。我尝试过的另一件事是,当您使用《 VS2008指南》创建继承表单时,通过“继承选择器”创建继承自。在我的测试项目中,我可以看到自己创建的所有表格,但是在我的原始作品中,我什么也不能选择。我试图浏览到我的bin文件夹中的exe文件,但没有提供任何形式的选择。
我还尝试过重建项目,清理项目并重新启动VS2008,希望它处于某种奇怪的状态,但是没有任何帮助。我不会否认我有一些奇怪的项目设置可能会影响Designer的想法,因为项目文件有些旧,并且包含许多文件和元素。但是由于我得到的错误描述,我发现这不太可能(仍在对此进行调查)。
我一直在搜寻互联网,以至于无论我在Google的搜索字段中输入什么内容或进行链接浏览,都得到相同的文章,论坛或博客,但没有成功。你们中的任何人对什么可能导致我的问题有想法或建议吗?非常感谢您提供的任何帮助,提示或建议。
先感谢您。
我解决了这个问题。当我的一个同事认为他想要继续我的问题并在计算机上启动相同的程序时,我正在研究汉斯·帕桑特的建议。令我们惊讶的是,他的设计师曾从事同一项目。在查看构建配置之前,我们都对此感到困惑。
在我的问题中,我忘记提及的是,由于第三方dll,我们的特定项目需要针对x64或86x平台进行构建。对于使用普通表单的设计人员来说,这通常不是问题,但是对于继承表单,设计人员实际上需要运行基本表单才能显示继承表单。
我的同事将构建配置设置为x86,将我的配置设置为x64。我们都在运行VS2008(86x)版本,这意味着设计人员很可能是在86x平台上构建的。我们的结论是,如果我们将表单构建为x64,则设计人员将不知道如何运行它。因此,我尝试将目标平台从64x更改为86x,然后在VS中关闭表单并对该项目进行了重建之后,设计师再次工作。
可以肯定的是,我尝试使用一个新的空清洁项目对其进行测试。我创建了2种形式:一种形式,一种从基础继承。默认情况下,构建配置为“ AnyCPU”,设计器可以正常工作。但是,当我将配置更改为“ x64”时,设计器再次按预期失败。切换到“ x86”解决了预期的问题。
因此,当在特定于平台的项目中使用继承的表单时,请始终在与您的VS2008平台版本相同的项目平台版本中进行设计(在我的情况下为x86。我实际上不知道是否有Visual Studio 2008的x64版本)。由于某些原因,我仍然不能在我的原始项目中使用“继承选择器”,但是在代码中进行继承就像一个魅力。
| 归档时间: |
|
| 查看次数: |
3503 次 |
| 最近记录: |