【问题标题】:Adding controls to Listbox向列表框添加控件
【发布时间】:2013-10-04 11:19:20
【问题描述】:

我知道我可以使用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;

【问题讨论】:

    标签: c# windows winforms


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      【解决方案3】:

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

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

      这样您就可以通过列表使用堆栈面板中的按钮

      【讨论】:

      • 对不起,我不知道关于winforms的问题:(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多