将控件添加到Listbox

时间:2013-10-04 11:19:21

标签: c# windows winforms

我知道我可以使用listBox.Controls.Add(new Button());但是我需要将几个控件添加为行,最好是从List中添加并将其设置为数据源。我试过以下但没有成功:

var list = new List<Control>();

list.Add(new Button());
list.Add(new Button());
list.Add(new Button());

listBox1.DataSource = list;

3 个答案:

答案 0 :(得分:2)

我决定改用flowLayoutPanel。这似乎是目前最好的选择。

答案 1 :(得分:1)

ListBox不是设计为容器控件。其滚动条无法滚动控件。这通常是你想要避免的东西,比如在一个Panel中放置很多控件,其AutoScroll属性为True将使你的UI无响应。控制是昂贵的对象。

答案 2 :(得分:-2)

我建议你使用StackPanel而不是Listbox 你可以阅读here 另外,您必须在列表中和StackPanel中添加Button对象,如下所示:

Button b = new Button();
list.Add(b);
stackPanel.Children.Add(b);

所以你可以通过列表

使用堆栈面板中的按钮