我有一个简单的用户控件,如下所示:
是的,内部没有任何内容,控件将使用下面的控件加载事件动态添加到用户控件中:
List<Control> controlsNeed = getUserControls();
foreach(Control c in controlsNeed)
{
this.Controls.Add(c);
}
控件正确加载,但如果有很多控件,则不会有足够的空间和滚动条。
问题是,尽管设置如下,滚动条也没有添加到控件中:
应添加哪些设置/代码才能将滚动条添加到控件中?
答案 0 :(得分:4)
List<Control> controlsNeed = getUserControls();
int PaddingTop = 10;
foreach (Control c in controlsNeed)
{
this.Controls.Add(c);
c.Location = new Point(0, c.Height + PaddingTop);
}
或者您可以将Panel控件继承到用户控件,该控件将像面板控件一样工作
public partial class MyControl : Panel
{
}
答案 1 :(得分:2)
我认为将AutoScrollMinSize
添加到用户控件应该可以解决问题
public MyUserControl()
{
InitializeComponent();
AutoScrollMinSize=new Size(0,1);
AutoScroll = true;
}