我左边有一个自定义控件如下图所示。我想创建另一个自定义控件,可以以编程方式动态地将这些控件中的更多或更少添加到自身,并允许用户滚动它们以查看"信息"在每个编辑框中。我想让它足够通用,如果我必须显示x个数据的信息,我可以通过编程方式"添加"更多这些控件到自定义控件并滚动它们。
我想我应该从Panel
控件开始(这会照顾滚动条)吗?
如何添加/删除/跟踪我想要显示的编辑控件?
答案 0 :(得分:1)
使用Panel
控件(如您所猜测的那样)并将其AutoScroll
属性设置为true
(这会处理滚动条)。
如果您的内部控件是其他UserControl
个对象,请在外部UserControl中保留它们的列表,并在堆栈底部动态添加它们:
var innerControl = new MyInnerUserControl();
innerControl.Top = _innerControls[_innerControls.Count-1].Bottom + 1;
_innerControls.Add(innerControl);
但是,如果您手动绘制内容,则应将面板的AutoScrollMinSize
属性设置为内部内容的总大小。