我正在编写一个自定义控件,它由嵌套在普通FlowLayoutPanel
中的Panel
组成。 FlowLayoutPanel
是类的内部属性,设计者无法查看(与Tab
不同,后者具有公开的各个属性。)设计者添加到{{{}的任何控件1}}应该添加到Panel
。这是我到目前为止所做的:
FlowLayoutPanel
这适用于在运行时添加的控件,但是当我尝试在设计时添加控件时,它会显示public class SlidePanel : Panel
{
private FlowLayoutPanel _panel;
public SlidePanel()
: base()
{
_panel = new FlowLayoutPanel();
Controls.Add(_panel);
_panel.Location = new Point(0, 0);
_panel.Size = base.Size;
_panel.Anchor = AnchorStyles.Bottom | AnchorStyles.Top;
ControlAdded += new ControlEventHandler(SlidePanel_ControlAdded);
}
void SlidePanel_ControlAdded(object sender, ControlEventArgs e)
{
Controls.Remove(e.Control);
_panel.Controls.Add(e.Control);
}
}
或者将控件添加到窗体中。我假设有一种更清洁,更好的方法来实现这个目标吗?
'child' is not a child control of this parent.
答案 0 :(得分:0)
您是否考虑过SlidePanel
直接从FlowLayoutPanel
继承,而不是包含一个?