4

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

基本上,我已经制作了一个具有一堆变量、虚函数的通用表单。

它将我创建的类作为参数并将其分配给局部变量(然后使用 getter 和 setter 作为属性)

然后我制作了另一个继承自这个表单的表单。一切都很好,它可以运行,但是当我尝试查看它的设计者时,我收到了该错误消息。

    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();
    }

这是一个孩子。忘记我正在使用“经理”这一事实,当它被皱眉时。有人对这个问题有所了解吗?从字面上看,运行良好,但是当试图在设计器中编辑图形端时,它不会加载它。

谢谢您的帮助。

4

2 回答 2

8

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

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

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

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

于 2012-09-18T13:04:56.300 回答
2

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

于 2012-09-18T13:05:41.557 回答