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%。设计器未正确加载等。。不过,我不确定这里是否是讨论的地方。