为什么flowlayoutPanel水平延伸?
问题描述:
我设置了这个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;
答
使用
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);
,因为它可以。它的工作是不浪费空间并避免显示滚动条。考虑使其宽度减少。 –