我有一个带有图片框的面板。当图片框的内容太大时我想要滚动条。我在面板上将autoscroll设置为true。但是当图片框的内容较大时,面板/图片框的高度就不会显示滚动条。
我的面板固定在顶部,左侧,底部,右侧。图片框也固定在顶部,左侧,底部,右侧。
答案 0 :(得分:20)
您必须将SizeMode
属性设置为AutoSize
,这会导致PictureBox自动调整为图片大小。
而且我认为你应该放下锚点并且只能锚定到左上角。其余部分由专家组自动处理。因为否则PictureBox可能会尊重锚点,无法自己调整大小而不是它包含的面板 - 导致没有再滚动条。
答案 1 :(得分:9)
来自MSDN:
目前,Windows窗体中存在一项限制,即当
ScrollableControl
启用且RightToLeft
设置为AutoScroll
时,会阻止True
派生的所有类正常运行。例如,假设您在表单上放置了一个控件,例如Panel
- 或者从Panel
派生的容器类(例如FlowLayoutPanel
或TableLayoutPanel
)。如果您将容器上的AutoScroll
设置为True
,然后将容器内一个或多个控件上的Anchor
属性设置为Right
,则不会出现任何滚动条。从ScrollableControl
派生的类就像AutoScroll
设置为False
一样。
答案 2 :(得分:6)
不应将图片框固定在底部和右侧。而是将其大小调整为要显示的内容。
答案 3 :(得分:1)
对于我来说,下面的代码有助于添加滚动条:
Panel2.Controls.Clear();
Panel2.AutoScroll = false;
Panel2.VerticalScroll.Enabled = true;
Panel2.VerticalScroll.Visible = true;
Panel2.AutoScroll = true;
答案 4 :(得分:0)
将Panel的Border Style更改为Fixed Single,然后将Panel的Auto Scroll属性更改为True。