2014-05-08 56 views
0

我有一個自定義控件左下圖。我想創建另一個自定義控件,它可以以編程方式動態添加或多或少的這些控件,並允許用戶滾動查看每個編輯框中的「信息」。我想使它足夠通用,如果我必須顯示x數量的信息,我可以通過編程方式將更多這些控件「添加」到自定義控件並滾動瀏覽它們。Windows窗體,創建動態滾動面板

enter image description here

我會想象我應該用Panel控制(這會照顧滾動條)開始?

我該如何添加/刪除/跟蹤我想要顯示的編輯控件?

+0

我會從'TableLayoutPanel'開始,這對於保存動態內容更好。你的自定義控件應該有某種'ItemsToShowCount'屬性。 – Tarec

+0

你是什麼內在的控制?他們是另一個UserControl,還是你手動繪製它們? –

+0

@ MD.Unicorn內部像左邊的照片一樣。他想要一個可滾動的容器。 – Tarec

回答

1

使用Panel控件(如您猜測的)並將其AutoScroll屬性設置爲true(這將處理滾動條)。

如果你內心的控制是一些其他UserControl對象,保持在你的外部用戶控件它們的列表,並動態地在堆棧的底部添加他們:

var innerControl = new MyInnerUserControl(); 
innerControl.Top = _innerControls[_innerControls.Count-1].Bottom + 1; 
_innerControls.Add(innerControl); 

但是,如果你正在繪製的內容手動,您應該將面板的AutoScrollMinSize屬性設置爲內部內容的總大小。

+0

謝謝,這個解決得非常好! – AnotherUser