我知道我可以使用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;
答案 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);
所以你可以通过列表
使用堆栈面板中的按钮