2015-09-14 45 views
2

我有50张图片。我需要在FlowLayoutPanel中添加这些图像,其中第一行包含30行图像,第二行包含20个图像。所以我也需要在控件上显示滚动条。多排自动大小可滚动FlowLayoutPanel

我将视频分为帧(图片)和FlowLayoutPanel中显示。当我上传的第一个视频下面是设置图像的代码:

for (i = 1; i < len - 1; i++) 
{ 
    ImagePanel mybt = new ImagePanel(storagePath + words[0] + "_" + 
            i + ".jpg", words[0] + "_" + i + ".jpg"); 
    flowLayoutPanel1.Controls.Add(mybt); 
} 

后,当我上传第二图像我要显示的图像就像在第一行,我们有休息后,我需要出示第二视频上传第一视频图像图片。 如果有人知道如何可能。

+0

@RezaAghaei像我有50张图片在ImagePanel中我需要添加这些flowlayooutpanel中的图像在包装行之后的第一排30个图像和第二排中的20个图像。 –

+0

您可以使用SetFlowBreak: –

+0

@RezaAghaei我已经使用了这个,但没有成功,请你参考我演示链接,以便我可以查看演示。 –

回答

2

要得到的结果就像你在截图中看到:

  • AutoScroll属性设置为您FlowLayoutPaneltrue
  • AutoSize物业把你FlowLayoutPanelPaneltrue
  • 设置WrapContent财产您的FlowLayoutPaneltrue(默认)
  • 设置AutoScroll属性FlowLayoutPanelfalse(默认)
  • 添加控件时,您可以使用SetFlowBreak来打破您需要的控件流。

截图

enter image description here

代码

private void button1_Click(object sender, EventArgs e) 
{ 
    for (int i = 0; i < 20; i++) 
    { 
     var btn = new Button() { Text = i.ToString() }; 
     if (i == 5 || i==15) 
      this.flowLayoutPanel1.SetFlowBreak(btn, true); 
     this.flowLayoutPanel1.Controls.Add(btn); 
    } 
} 

在这里,我打破了流量,在5日和15

+0

它没有打破流我忘了告诉你,我的flowLayoutPanel有autoscroll属性假和包装内容false –

+0

@vishuminhas没问题,检查更新;使用其autoscroll属性设置为true并且您的flowlayoutpanel自动调整为true的面板(wrapcoontent = true并且autoscroll = false默认值) –

+0

感谢您现在知道我们如何为此添加Hscroll和Vscroll? –