C# 派生的UserControl布局在生成后重置

C# 派生的UserControl布局在生成后重置,c#,winforms,user-interface,inheritance,user-controls,C#,Winforms,User Interface,Inheritance,User Controls,我有一个非常基本的基本用户控件,带有一些附加属性。当我从基本用户控件继承并在设计器中向其添加一些按钮时,一切似乎都很好。但是当我构建我的项目时,我所有的按钮都消失了,布局恢复到原来的基本用户控件。我做错了什么 public partial class BaseUserControl : UserControl { public BaseUserControl() { InitializeComponents(); } public bool Ca

我有一个非常基本的基本用户控件,带有一些附加属性。当我从基本用户控件继承并在设计器中向其添加一些按钮时,一切似乎都很好。但是当我构建我的项目时,我所有的按钮都消失了,布局恢复到原来的基本用户控件。我做错了什么

public partial class BaseUserControl : UserControl
{
    public BaseUserControl()
    {
        InitializeComponents();
    }

    public bool CanClose
    {
        get;
        set;
    }
}

public partial class InheritedUserControl : BaseUserControl
{
    public InheritedUserControl()
    {
        InitializeComponents();
    }
}

让我先说控制继承绝对是一场噩梦。是否有可能您对基的InitializeComponent调用是以某种designer automagic方式在子代之后调用的,即加载基组件?@Brandon让我先说控制继承是一场噩梦,我不同意。我广泛地使用控件继承,这非常有效。你能解释一下为什么这是一场噩梦吗?我假设先调用基初始化,然后再调用继承的初始化?在处理用户控件时,经常会出现这种情况。首先看看这个……这不是一个骗局,但我认为根本问题总是一样的:@SriramSakthivel,因为像这样的问题。您可以为控件或某些属性编写构造函数,它们在设计时和运行时的处理方式会有所不同。属性未保存或visual studio崩溃时出现错误的时间占75%。设计器未正确加载等。。不过,我不确定这里是否是讨论的地方。