我已经看到this answer用于向自定义控件添加设计器支持。它适用于并包括添加子控件。除了在关闭设计师并再次打开它之后 - 那些孩子都不见了。
是否有某种方法可以获得在设计器中添加子控件的支持?也许在某种情况下,我们可以以某种方式处理"手动" (即通过我的代码)?
这不是UserControl
。它是继承自Panel
。
答案 0 :(得分:0)
您需要隐藏或覆盖s
属性并应用Controls
。
这将告诉表单设计者将该属性的内容保存到[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
。
答案 1 :(得分:0)
对于派生自Panel
的类,设计器默认启用,您不需要做任何事情,因为面板的设计者是PanelDesigner
,它源自{{1它来自ParentControlDesigner
:
ScrollableControlDeigner
为设计者提供了一个基类 可以包含子控件的控件。除了方法 和ParentControlDesigner
和...继承的功能ControlDesigner
个类ComponentDesigner
启用了子级 要添加,删除,选择和排列的控件 在控制中,它的行为在设计时延伸。
您可以通过将ParentControlDesigner
设置为控件的设计器来启用设计器。例如:
ParentControldesigner