【发布时间】:2010-01-12 12:04:51
【问题描述】:
我有一个面板,上面有一个图片框。当图片框的内容太大时,我想要滚动条。我已在面板上将自动滚动设置为 true。但是当图片框的内容大于面板/图片框的高度时,不会显示滚动条。
我的面板固定在上、左、下、右。图片框也锚定在上、左、下、右。
【问题讨论】:
我有一个面板,上面有一个图片框。当图片框的内容太大时,我想要滚动条。我已在面板上将自动滚动设置为 true。但是当图片框的内容大于面板/图片框的高度时,不会显示滚动条。
我的面板固定在上、左、下、右。图片框也锚定在上、左、下、右。
【问题讨论】:
您必须将 SizeMode 属性设置为 AutoSize,这会导致 PictureBox 自动调整为图片大小。
我认为你应该放下锚点,只锚定在左上角。其余的由面板自动处理。因为否则 PictureBox 可能会尊重锚点,无法将其自身调整为大于其包含的面板 - 导致再次没有滚动条。
【讨论】:
来自MSDN:
Windows 窗体中当前存在一个限制,当
RightToLeft启用且AutoScroll设置为True时,所有从ScrollableControl派生的类都无法正常运行。例如,假设您在表单上放置了诸如Panel之类的控件或派生自Panel的容器类(例如FlowLayoutPanel或TableLayoutPanel)。如果将容器上的AutoScroll设置为True,然后将容器内的一个或多个控件上的Anchor属性设置为Right,则不会出现滚动条。从ScrollableControl派生的类就像AutoScroll被设置为False。
【讨论】:
RightToLeft吗?
RightToLeft 和AutoScroll 时.. 但我不认为这个问题描述了这种情况?
图片框不应锚定在底部和右侧。相反,将其调整为要显示的内容。
【讨论】:
对我来说,下面的代码有助于添加滚动条:
Panel2.Controls.Clear();
Panel2.AutoScroll = false;
Panel2.VerticalScroll.Enabled = true;
Panel2.VerticalScroll.Visible = true;
Panel2.AutoScroll = true;
【讨论】:
将面板的边框样式更改为固定单,然后将面板的自动滚动属性更改为 True。
【讨论】: