我在FlowLayoutPanel
. 我需要这个面板自动调整大小,但只能垂直调整。
这是可能的,如果是这样,我该如何实现它?
很简单,添加一个控件类型的事件添加:
private void flowLayoutPanel1_ControlAdded(object sender, ControlEventArgs e)
{
if (flowLayoutPanel1.Controls.Count % 10 == 0)
flowLayoutPanel1.SetFlowBreak(e.Control as Control, true);
}
放AutoSize = true
放flowdirection = LeftToRight
也许
FlowLayoutPanel1.WrapContents = False;
FlowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
会帮助你。
我确实从面板中设置了大小。例子:
int newHeight= listImages.Count/10 * 100; flowLayoutPanel1.Size = new Size(1143, newHeight);
这个对我有用。谢谢大家
这可能看起来像一个丑陋的解决方案,但它适用于我:
从变量中恢复前一个面板的宽度。
int i = _panel1.Width;
_panel1.AutoSize = true;
_panel1.AutoSizeMode = AutoSizeMode.GrowOnly;
/*some action going on here*/
_panel1.AutoSize = false;
_panel1.Size = new Size(_panel1.Width, 80);