如何在面板上获得滚动条

时间:2013-11-16 08:19:19

标签: vb.net

我有Form Panel。在这个Panel中,我想在需要时使用垂直scrollbar

我该怎么做?我已经尝试将autoscroll设置为true并设置最小滚动高度,但滚动条永远不会出现。

我也试过这个:

my_panel.ScrollBars = ScrollBars.Vertical

但是我得到滚动条不是my_panel的成员的错误?

感谢。

2 个答案:

答案 0 :(得分:1)

Autoscroll 属性实际上足以满足您的需求。基本上autoscroll属性为true的面板仅在scroll bar内的contents/components超出其范围时显示panel。换句话说,Scroll bar出现的控件在特定控件的内容大于其autoscroll区域时将visible属性设置为true。我认为你的面板有一些最小量的内容/控件,这些内容/控件适合该面板的限制。

答案 1 :(得分:0)

我知道你在一年前问过这个问题,但是......;)

最近,我遇到了同样的问题(面板内的标签,我只需要垂直滚动条)。

如果您只想要带有标签的面板的垂直滚动条,请使用以下代码:

Dim pnl As New Panel
pnl.Size = New Size(300, 200)
pnl.AutoSize = True
Dim lbl As New Label
lbl.Location = New Point(0, 0)
lbl.AutoSize = True
lbl.MaximumSize = New Size(pnl.Width - 18, 0)
'18 is approx. width of scroller, and height must be zero.
'even if Label is set to AutoSize, MaximumSize will not allow him to
'expand more then set width. 
'Height of zero px will allow Label to expand as much as he need
pnl.Controls.Add(lbl)
Me.Controls.Add(pnl)

我希望这段代码可以帮助你。

顺便说一句。对不起我的英语不好,我希望你能理解;):)