【发布时间】:2013-10-13 04:57:12
【问题描述】:
场景:
- 在表单上放置一个面板。
- 将面板的 BorderStyle 设置为 FixedSingle。 (只是为了让您在运行时可以看到它。)
- 设置面板的 AutoScroll=True
- 将面板的锚点设置为上、左、下、右
- 在面板内,放置任何大小合适的控件(按钮、图片框或其他)。
- 将控件的底部边缘调整为仅比面板底部高出几个像素。
- 调整控件的右边缘应该比面板窄几个像素减去垂直滚动条的宽度。 (也就是说,它应该足够窄,以便为垂直滚动条留出空间。)
现在运行它,并垂直调整表单的大小,使您希望出现一个 VERTICAL 滚动条。
问题:两个滚动条都出现了,因为垂直滚动条的存在减小了客户区的宽度,从而迫使水平滚动条出现。
显然,.NET 会先评估是否需要垂直滚动条,然后再评估是否应该出现水平滚动条,这取决于客户端大小是否因垂直滚动条的存在而减小。 (即相同的实验不会导致出现不必要的 VERTICAL 滚动条......只有水平滚动条。)
我正在使用 VB2008 Express,但我猜这会延续到更高版本。
我需要的解决方案:我需要以下任何一种:A)“仅垂直自动滚动”面板。 B)我需要一种方法来告诉面板“重新考虑”水平滚动条是否真的必要。 (刷新似乎不行。)
【问题讨论】:
-
没有 cmets(直到现在)。没有赞成票(或反对票-显然-)。没有接受的答案(来吧!)。 1731 次观看。什么?