C# 设计器不会为子角色的属性生成代码。为什么?

C# 设计器不会为子角色的属性生成代码。为什么?,c#,user-controls,windows-forms-designer,C#,User Controls,Windows Forms Designer,我创建了继承UserControl的SubCtrl。它没有代码。 我创建了Ctrl,它也继承了UserControl。它有一个子目录,它唯一的代码是公开它,因此它出现在Ctrl的属性列表中: public subctrl.SubCtrl SUBCTRL { get { return this.subCtrl1; } } 然后我创建了一个简单的表单项目,其中只有一个Ctrl键,没有代码。 正如我所希望的,SUBCTRL出现在Ctrl的属性列表中,这样我就可以更改内容了。我改变了背景色(比

我创建了继承UserControl的SubCtrl。它没有代码。 我创建了Ctrl,它也继承了UserControl。它有一个子目录,它唯一的代码是公开它,因此它出现在Ctrl的属性列表中:

public subctrl.SubCtrl SUBCTRL
{
    get { return this.subCtrl1; }
}
然后我创建了一个简单的表单项目,其中只有一个Ctrl键,没有代码。 正如我所希望的,SUBCTRL出现在Ctrl的属性列表中,这样我就可以更改内容了。我改变了背景色(比如说,改为红色),subctrl在designer中变成了红色

但神奇的是,当我运行这个项目时,它又回到了标准灰色。Form1.Designer.cs中似乎没有生成将SUBCTRL的背景色更改为红色的代码。如果我用手写的话,它是有效的,但那不是我想要的。显然,它应该是自动的

另一方面,Ctrl键的行为正常。代码生成了,一切都很顺利


子控制有什么问题?

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
添加到属性中。

简洁有效。万岁!