VS2012设计器在从另一个窗体继承后无法打开窗体
本文关键字:窗体 继承 开窗 另一个 VS2012 | 更新日期: 2023-09-27 17:49:57
我有一个基本形式BaseForm
,我用它来保存设置。此表单中没有控件,并且在设计器中以空表单的形式打开。但是,当继承此表单时,设计器拒绝在设计器中打开新创建的表单(设计器中没有按钮View)。有什么问题吗?由于
问题是.csproj
文件。
每个表单在文件中都有一个签名,像这样
<Compile Include="Opers'MyForm.cs">
<SubType>Form</SubType>
</Compile>
SubType
元素说,这实际上是一个表单,在我的文件中,这是由于某种原因被删除。
我强烈建议尽可能避免继承表单。对于保存设置,这当然是可以避免的:让自己创建一个FormSettingsSaver类或类似的东西,并在加载/关闭等时将表单作为参数传递给它。继承窗体可能会带来很多麻烦,而且MS并没有真正在WindowsForms和/或设计器中投入任何工作。
edit:如果您想继续继承表单,请查看评论中Rene提供的链接。大多数设计器问题可以通过检查设计模式来避免。您还可以尝试注释语句,直到找到罪魁祸首。在构造函数和(我认为)OnLoad的所有代码执行时,表单显示在设计器,所以有一个很好的地方开始。