1

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

var list = new List<Control>();

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

listBox1.DataSource = list;
4

3 回答 3

2

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

于 2013-10-04T12:01:33.800 回答
1

ListBox 并非设计为容器控件。它的滚动条不能滚动控件。通常这是您要避免的事情,将大量控件放入,例如,AutoScroll 属性为 True 的 Panel 会使您的 UI 无响应。控件是昂贵的对象。

于 2013-10-04T11:21:25.367 回答
-2

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

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

因此您可以通过列表使用堆栈面板中的按钮

于 2013-10-04T11:30:47.560 回答