flowlayoutpanel和水平滚动条问题

我正在使用一个flowlayoutpanel,每个逻辑都有很多按钮。 我有一个问题,当我调整窗口大小时,我不是当窗口变小时我无法看到所有按钮水平排列。 相反,当窗口变小时,按钮会下降到下一行。 任何人都可以帮我解决这个问题吗? 我只想让按钮水平排列,当窗口变小时,有一个水平滚动条。 以下是我所拥有的。

fLayoutPnl.Controls.Add(btn1); // snipped adding buttons from 2 to 15 fLayoutPnl.Controls.Add(btn16); fLayoutPnl.Dock = System.Windows.Forms.DockStyle.Top; fLayoutPnl.Location = new System.Drawing.Point(0, 10); fLayoutPnl.Name = "fLayoutPnl"; fLayoutPnl.Size = new System.Drawing.Size(1245, 30); 

如果将flowlayoutpanel停靠在顶部,则需要使用父控件的大小。 因此,如果您想要水平滚动,则需要设置窗体(或usercontrol)的AutoScrollMinSize。

否则,你可以这样做:

 this.AutoScroll = true; this.fLayoutPnl.Dock = System.Windows.Forms.DockStyle.None; this.fLayoutPnl.AutoSize = true; this.fLayoutPnl.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.fLayoutPnl.Location = new System.Drawing.Point(0, 10); this.fLayoutPnl.Name = "fLayoutPnl"; this.fLayoutPnl.Size = new System.Drawing.Size(1245, 30); 
 fLayoutPnl.WrapContents = false; 

这将解决问题。 如果需要滚动条,请设置面板的MinimumSize属性,之后应显示滚动条