我正在开发一个Windows窗体应用程序(.NET 2.0,VS 2005)。 我基本上包含了被动态的形式调整面板的形式:
this.panel1.Dock=DockStyle.Fill;
该面板被简单地用作容器。 在运行时,自定义控制将被添加:
UserControl uc=new UserControl();
panel1.Controls.Add(uc);
uc.Dock=DockStyle.Fill;
由于这种自定义控件具有最小尺寸的要求,我想滚动条到含面板上,如果它变得太小,无法显示整个控制:
this.panel1.AutoScroll=true;
这是行不通的。 我试图调整使用Anchor属性,而不是Dock属性面板,但无济于事。
不要停靠您的用户控制。 使用锚点属性。 (锚四面)。 设置你的用户控件的属性的minimumSize设置面板的AutoScrollMinSize属性还
小组的滚动条将不会出现,除非你设置它的AutoScrollMinSize属性还。 设置用户控件的Dock来填充似乎隐藏面板的滚动条。
在InitializeComponent在对话框的形式,我这样做之后它似乎工作:
tableLayoutPanel1.AutoScrollMinSize = tableLayoutPanel1.GetPreferredSize(new Size(1, 1));
我有一大堆的表中的子面板。 所有的行和列设置为自动调整大小。 出于某种原因,控制是不够聪明,告诉它的首选大小的滚动控制。
Panel.AutoScroll = *真正的作品 - 现在! 我打,发挥与上述思路,为面板和用户同时控制,最后所有参数重置回默认设置自动滚动面板上,和...瞧! 不知它再次工程...去图...
文章来源: How to make scrollbars appear in a resizable panel when the contained control is too big for it?