如何在FlowLayoutPanel中禁用水平滚动条?

时间:2011-04-05 18:21:53

标签: c# winforms scrollbar flowlayoutpanel

我有一个FlowLayoutPanel,它有多个控件。我只想在垂直方向滚动。但是当我设置AutoScroll = true时,我同时获得了垂直和水平滚动条。如何禁用水平滚动条并仅保持垂直滚动条工作?

3 个答案:

答案 0 :(得分:49)

  • 自动滚动设置为true
  • WrapContents 设置为false。
  • 确保尺寸比宽度大 控件的宽度加上垂直滚动条的宽度。

水平滚动条应该消失。如果没有,请提供更多信息。

答案 1 :(得分:4)

将AutoScroll设置为true。 将WrapContents设置为false。 将Padding Right设置为10.

它的工作对我很好。

答案 2 :(得分:0)

这是我如何实现在 FlowLayoutPanel 上有多个标签,带有换行文本(WrapContents = true),仅限垂直滚动条。

  1. 我在表单上有一个 flowLayoutPanel1
  2. 如下设置 form 和 flowLayoutPanel1 的属性:

形式:

AutoScroll = True
FormBorderStyle = Sizable(default)

flowLayoutPanel1:

Anchor = Top, Left, Right
AutoSize = True
FlowDirection = TopDown
WrapContents = true
  1. 在表单类上实现此代码以进行测试

int coorY = 0;
        public Form2()
        {
            InitializeComponent();
            for (int i = 0; i < 100; i++)
            {
                flowLayoutPanel1.Controls.Add(new Label 
                { 
                    Location = new Point(0, coorY + 20),
                    Font = new Font("Segoe UI", 10f),
                    Text = "I have a FlowLayoutPanel and there are multiple controls on it. I only want to scroll in vertical",
                    Width = flowLayoutPanel1.Width,
                    AutoSize = true
                });
                coorY += 20;
            }
        }

Vertical scrollbar in action