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

C# 如何在FlowLayoutPanel中禁用水平滚动条?,c#,winforms,scrollbar,flowlayoutpanel,C#,Winforms,Scrollbar,Flowlayoutpanel,我有一个FlowLayoutPanel,上面有多个控件。我只想在垂直方向滚动。但是当我设置AutoScroll=true时,我得到了垂直和水平滚动条。如何禁用水平滚动条而仅保持垂直滚动条工作? 将自动滚动设置为真 将WrapContents设置为false 确保尺寸比尺寸大 控件的宽度加上垂直滚动条的宽度 水平滚动条应该消失。如果没有,请提供更多信息。将AutoScroll设置为true。 将WrapContents设置为false。 将填充设置为10。 这对我来说很好。以下是我如何实现在Fl

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

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

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

将AutoScroll设置为true。 将WrapContents设置为false。 将填充设置为10。


这对我来说很好。

以下是我如何实现在FlowLayoutPanel上有多个标签,并且只有垂直滚动条带有换行文本(WrapContents=true)

  • 我在表格上有一个flowLayoutPanel1
  • 设置窗体和flowLayoutPanel1的属性,如下所示:
  • 表格:

    AutoScroll = True
    FormBorderStyle = Sizable(default)
    
    Anchor = Top, Left, Right
    AutoSize = True
    FlowDirection = TopDown
    WrapContents = true
    
    flowLayoutPanel1:

    AutoScroll = True
    FormBorderStyle = Sizable(default)
    
    Anchor = Top, Left, Right
    AutoSize = True
    FlowDirection = TopDown
    WrapContents = true
    
  • 在表单类上实现此代码以进行测试
  • int coorY=0;
    公共表格2()
    {
    初始化组件();
    对于(int i=0;i<100;i++)
    {
    flowLayoutPanel1.Controls.Add(新标签
    { 
    位置=新点(0,库里+20),
    字体=新字体(“Segoe UI”,10f),
    Text=“我有一个FlowLayoutPanel,上面有多个控件。我只想垂直滚动”,
    宽度=flowLayoutPanel1.宽度,
    自动调整大小=真
    });
    库里+=20;
    }
    
    }
    谢谢!刚才我在玩它,我发现如果我设置flowDirection=leftToRight,flowlayoutPanel.HorizontalScroll.Visible=false,wrapContents=true。它是有效的…所以有多种方法可以做到这一点?无论如何谢谢你!:)我注意到,启用WrapContent(使用LeftToRight流)将创建“换行”,因此不需要任何水平滚动条。实际上我不喜欢这样,我希望WrapContents为false,但我仍然希望FlowBreak属性工作,手动控制换行。然而,这不起作用。如果WrapContents为false,则FlowBreak属性会被该控件的错误忽略。嘘,微软。再说一次,我用的是WrapContents。为了实现我想要的结果,我将我的FlowLayoutPanel包含在一个面板控件中,然后我将面板的AutoScroll设置为true,FlowLayoutPanel的AutoScroll设置为false,它就工作了!我以为“不行,不行”,但是是的,右边的填充物使这个把戏成功了。唯一的问题是,根据子控件的字体大小,您必须调整填充。禁用垂直滚动条而不是所需的水平滚动条如何@用户2559770?