c# - C# 中的可滚动表单,AutoScroll=true 不起作用

标签 c# forms scroll

要使表单可滚动,我必须遵守哪些规则...

我简单地将属性 AutoScroll 设置为 true。 我还尝试在 Auto Scroll 为 true 时将 AutoSize 设置为 true/false,但这些都不起作用...还尝试放置 Panel 并在其中添加所有组件...仍然没有...

也许使用 V 或 HScrollBar 会有帮助,但我真的不知道如何将它与表单链接...

form.AutoScroll = true;
formMainLayout.AutoScroll = true;
rootPanel.AutoScroll = true;

最佳答案

内容控制滚动。除非需要,否则滚动条不会出现。通常,有一个可用的属性,您可以将其设置为强制它们始终可见,并在需要时简单地禁用。

AutoScroll 属性必须为 true,正如您已经发现的那样。但是可滚动控件的内容必须强制父控件显示滚动条。这部分取决于控件如何嵌入父级。

试试这两个实验:

  1. 在您的表单上放置一个 Panel 并将其停靠在 Fill 上。将面板的 AutoScroll 属性设置为 true。在该面板中,放置一个 TextBox 并将其设置为停靠为 Fill。同时将 MultiLine 设置为 true。运行该应用程序,您会注意到两者的大小只是在使用可用空间...不会发生滚动,因为 Panel 及其 TextBox 都不会变大比他们占据的空间。

  2. 执行与 #1 中相同的步骤,但这次不要停靠 TextBox。相反,将其设置为较大的尺寸,您知道的尺寸会大于可见的 Panel 的数量。运行应用程序现在应该会产生一个滚动的 Panel

希望这个小测试有助于演示是什么在控制表单上的滚动。

关于c# - C# 中的可滚动表单,AutoScroll=true 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789197/

相关文章:

c# - 如何在运行时传递 ListView 的行索引?

c# - 根据 C# 中的字符数将长字符串拆分为子字符串

c# - Object.GetType() 永远不是 System.DateTime?

wpf - WindowsFormsHost 中的 WIndows Forms Chart 不接收鼠标滚轮?

javascript - 表单提交无需重定向和重新加载

c# - Kinect手势分析

html - 我可以为提交按钮设置两个值吗?

body 高度为 100% 的 jQuery 滚动问题

html - iOS Safari : scrolling is broken inside position: fixed; elements

javascript - anchor 链接的平滑滚动不起作用