【问题标题】:Why flowlayoutPanel is extending horizontally?为什么flowlayoutPanel水平延伸?
【发布时间】:2020-06-19 18:37:00
【问题描述】:

我已经设置了这个flowLayoutPanel,里面的控件排列好,直到最后一个到达面板的底部边框,然后控件开始在右侧排列(形成另一列)保持垂直流动。我只想要一列。

this.panel.Anchor = 
((System.Windows.Forms.AnchorStyles)
(((System.Windows.Forms.AnchorStyles.Top |
System.Windows.Forms.AnchorStyles.Bottom)| System.Windows.Forms.AnchorStyles.Right)));
this.panel.AutoScroll = true;
this.panel.BorderStyle = BorderStyle.None;          
this.panel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
this.panel.Location = new System.Drawing.Point(0, 184);
this.panel.Name = "myPanel";
this.panel.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.panel.Size = new System.Drawing.Size(300, 371);
this.panel.TabIndex = 9;

【问题讨论】:

  • 因为它可以。它的工作是不浪费空间并避免显示滚动条。考虑减少它的宽度。

标签: c# flowlayoutpanel


【解决方案1】:

使用

this.panel.FlowDirection = System.Windows.Forms.FlowDirection.LeftToRight;

而不是

this.panel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;

如果您只想要一列,请在将控件添加到您的流程布局面板后将以下代码添加到您的应用程序

this.panel.SetFlowBreak(<<YOUR_ADDED_CONTROL_NAME>>, true);

例子

Button btn1 = new Button();
btn1.Text = "TEST";
btn1.Height = 30;
btn1.Width = 100;

this.panel.Controls.Add(btn1);
this.panel.SetFlowBreak(btn1, true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多