2011-02-01 76 views
1

我正在將用戶控件添加到列表框。一切工作正常,但我有一個問題,當我添加10個用戶控件,然後我期待該列表框應顯示滾動,以便我可以在列表框的末尾選擇項目,但即使將顯示滾動屬性設置爲true後,這絕不會發生。如何在列表框中顯示滾動按鈕

這裏是我的代碼

UserControl1 button = new UserControl1(); 

button.Location = new Point(10, 100 * i + 10); 
button.Size = new System.Drawing.Size(560, 59); 
button.MessageUsername = "Wao this is great"; 
listBox1.Controls.Add(button); 

我打開思路

在這裏,你可以看到,有沒有滾動enter image description here

回答

2

哪裏people的想法,一個ListBox圖片是一個容器控件?這不是ListBox的用途,它不適用於使用Controls.Add方法添加子控件。您應該添加(並以其他方式管理)它使用正確名稱Items property顯示的項目。

沒有滾動條可見,因爲您剛剛將每個子控件重疊在一起。 ListBox本身並不知道它們,所以它不知道它需要滾動它們。

您應該使用某種類型的面板控制,或者是Panel控制自己,或者更好的方法是自動管理佈局。調查FlowLayoutPanelTableLayoutPanel。所有這些控件都有一個AutoScroll property,您可以將其設置爲「True」,只要其內容超過可見客戶區域就會自動顯示滾動條。

+0

FlowLayoutPanel是我一直在尋找的東西。謝謝 – 2011-02-01 17:37:58

0

ListBox不是一個容器! 對於自定義列表框項目,您應該使用ownerdraw繪製模式。但在你的情況下,這是不對的。作爲變體,我可以建議你使用簡單的面板和孤立的滾動框,這將移動(滾動)面板上的每個控件

相關問題