winform设计器必须创建类型的实例,但该类型已声明为抽象,因此设计器无法创建该类型的实例

mac2026-08-05  6

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WeifenLuo.WinFormsUI.Docking; namespace VisionSystem { #if DEBUG public partial class RootForm #else public abstract partial class RootForm #endif :Form { public RootForm() { InitializeComponent(); } #if DEBUG public virtual bool StartRun() { return true; } #else public abstract bool StartRun(); #endif } }

因为在实例化子类窗体的时候,要先实例化父类窗体。父类窗体设置为abstract,则不能实例化。

我们可以用#if Debug来解决这个问题。

如果定义抽象父类是为了定义子窗体的公共方法,那么在父类中定义虚函数即可。

最新回复(0)