要使表单可滚动,我必须遵守哪些规则...
我简单地将属性 AutoScroll
设置为 true。
我还尝试在 Auto Scroll
为 true 时将 AutoSize
设置为 true/false,但这些都不起作用...还尝试放置 Panel 并在其中添加所有组件...仍然没有...
也许使用 V 或 HScrollBar
会有帮助,但我真的不知道如何将它与表单链接...
form.AutoScroll = true;
formMainLayout.AutoScroll = true;
rootPanel.AutoScroll = true;
最佳答案
内容控制滚动。除非需要,否则滚动条不会出现。通常,有一个可用的属性,您可以将其设置为强制它们始终可见,并在需要时简单地禁用。
AutoScroll
属性必须为 true
,正如您已经发现的那样。但是可滚动控件的内容必须强制父控件显示滚动条。这部分取决于控件如何嵌入父级。
试试这两个实验:
在您的表单上放置一个
Panel
并将其停靠在Fill
上。将面板的AutoScroll
属性设置为true
。在该面板中,放置一个TextBox
并将其设置为停靠为Fill
。同时将MultiLine
设置为true
。运行该应用程序,您会注意到两者的大小只是在使用可用空间...不会发生滚动,因为Panel
及其TextBox
都不会变大比他们占据的空间。执行与 #1 中相同的步骤,但这次不要停靠
TextBox
。相反,将其设置为较大的尺寸,您知道的尺寸会大于可见的Panel
的数量。运行应用程序现在应该会产生一个滚动的Panel
。
希望这个小测试有助于演示是什么在控制表单上的滚动。
关于c# - C# 中的可滚动表单,AutoScroll=true 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789197/