未找到“Track_Attack.TAGeneric”类型的构造函数。 C#Winforms

我在Visual Studio 2010中收到一条警告消息(标题中的那个)

基本上我已经制作了一个通用forms,它有一堆变量,虚函数。

它需要一个我作为参数创建的类并将其分配给一个局部变量(然后使用getter和setter将其作为一个顶点)

然后,我创建了另一种inheritance自此forms的表单。 一切都很好,它运行,但当我试图看看它的设计者时,我得到了错误信息。

public TAGeneric(TAManager iManager) { ControlHelper.SuspendDrawing(this); mManager = iManager; SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); InitializeComponent(); SetupCommandBar(); ControlHelper.ResumeDrawing(this); } 

那是父母。

  public TAAddInterval(TAManager iManager) : base(iManager) { InitializeComponent(); } 

这是一个孩子。 忘记了当我不满意的时候我正在使用“经理”。 有人对这个问题有所了解吗? 字面上可以正常运行,但是当尝试在设计器中编辑图形方面时,它不会加载它。

谢谢您的帮助。

我怀疑你需要为设计师提供一个无参数构造函数来使用:

 public TAAddInterval(TAManager iManager) : base(iManager) { InitializeComponent(); } [Obsolete("This constructor only exists for the benefit of the designer...")] public TAAddInterval() : this(null) { } 

如果你有某种假TAManager你可以提供,如果设计师碰巧遇到一些使用管理器的代码,可能会避免抛出NullReferenceException

您可能只需要一个无参数构造函数,设计器就可以正常工作。