2015-09-14 47 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? –