为什么 flowlayoutPanel 是水平延伸的?

Why flowlayoutPanel is extending horizontally?

我设置了这个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;

使用

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);