我正在FlowLayoutPanel
内动态加载图片。我需要这个面板自动调整尺寸,但只能垂直调整。
这是可能的,如果是这样,我该如何实现呢?
答案 0 :(得分:11)
简单,添加一个类型控件添加的事件:
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
答案 1 :(得分:1)
我确实动态地设置了“面板大小”。例如:
int newHeight= listImages.Count/10 * 100; flowLayoutPanel1.Size = new Size(1143, newHeight);
它对我有用。全部
答案 2 :(得分:0)
这可能看起来很丑陋,但是对我有用:
从变量中恢复前面板的宽度。
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);
答案 3 :(得分:0)
也许
FlowLayoutPanel1.WrapContents = False;
FlowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
将为您提供帮助。
答案 4 :(得分:0)
仅自动调整高度:
label.AutoSize = true;
label.AutoSize = false;
label.Width = width;