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

ICT*_*ech 4 c# visual-studio-2010 winforms

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

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

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

然后我创建了另一种继承自这种形式的形式.一切都很好,它运行,但当我试图看看它的设计者时,我得到了错误信息.

    public TAGeneric(TAManager iManager)
    {
        ControlHelper.SuspendDrawing(this);

        mManager = iManager;

        SetStyle(ControlStyles.OptimizedDoubleBuffer |
            ControlStyles.UserPaint |
            ControlStyles.AllPaintingInWmPaint, true);

        InitializeComponent();
        SetupCommandBar();
        ControlHelper.ResumeDrawing(this);
    }
Run Code Online (Sandbox Code Playgroud)

那是父母.

    public TAAddInterval(TAManager iManager) : base(iManager)
    {
        InitializeComponent();
    }
Run Code Online (Sandbox Code Playgroud)

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

谢谢您的帮助.

Jon*_*eet 8

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

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

[Obsolete("This constructor only exists for the benefit of the designer...")]
public TAAddInterval() : this(null)
{
}
Run Code Online (Sandbox Code Playgroud)

如果你有某种假货TAManager可以提供,那么NullReferenceException如果设计师碰巧遇到了一些使用经理的代码,那么可能会避免被抛出.