【发布时间】:2017-04-21 15:35:14
【问题描述】:
我正在创建一个看起来像这样的表单。
Form1 有两个面板:
- 底部面板(黄色)
- 顶部面板,它本身由两个面板组成:
- 左侧面板(红色)
- 右侧面板(绿色)
如图所示,顶部面板超出了 form1 的高度,所以我想使用滚动条。我有几个问题:
a) 在顶部面板中将自动滚动设置为 true 不起作用。
b) 如果我在顶部面板上放置一个位置超过 form1 高度的按钮,那么它会滚动,但如果我将它放在它的任何子面板(红色或绿色)中,则不会滚动
c) 我可以创建自己的滚动条,而不是在顶部面板中将 auto-scroll 设置为 true,但是我找不到一个简单的示例来处理移动面板的滚动事件,以便视口更改为想要的。
如何正确添加具有所需行为的滚动条?
【问题讨论】:
-
你想在哪里有滚动条,在表单上还是在黄色面板上?
-
@vendettamit 我想在由红色和绿色面板组成的“顶部”面板中添加一个垂直滚动条
-
这三个面板看起来都应该停靠——底部、左侧和填充。为您希望滚动条显示的面板设置 AutoScrollMinSize。
-
@de3 你能在 VS 中打开
Document Outline窗口并在表单上添加面板层次结构的屏幕截图吗? -
AutoScroll 无效,因为面板没有任何需要滚动条才能完全可见的子控件。这就引出了为什么你想要一个滚动条的问题。设置面板的 AutoScrollMinSize 是另一种强制滚动条的方法。再说一次,也许您实际上是在寻找表单的 AutoScroll 属性。