为什么flowlayoutPanel是水平延伸的?

时间:2016-11-14 12:58:03

标签: c# flowlayoutpanel

我已设置此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;

1 个答案:

答案 0 :(得分:2)

使用

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

而不是

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

如果您只想要一列,请在将控件添加到您的flowlayoutpanel后,将以下代码添加到您的应用中

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