在运行时动态添加列表框

时间:2013-11-20 20:07:17

标签: c# windows winforms visual-studio-2012

我需要在应用程序运行时将列表框添加到Windows窗体应用程序(C#)。我遇到的问题是我不知道将添加多少个框...应用程序将检查dir的特定路径,并且当前列出的每个目录需要是一个单独的列表框...有没有办法做这个?我目前正在通过创建7个列表框来攻击它,并根据Dir的数量使它们可见或不可见......但是有可能超过7 ...

非常感谢任何帮助!

感谢

1 个答案:

答案 0 :(得分:0)

为了扩展Habib的答案,你需要创建一个动态ListBox,然后将其添加到某个容器中:

ListBox lb = new ListBox();
// populate "lb" somehow
this.Controls.Add(lb);

上面的代码可以在循环中。

但是,您需要为每个ListBox显式设置Location(),除非您将它们添加到类似FlowLayoutPanel的内容中,它会自动为您排列它们。如果您需要更好地控制它们的排列方式,请查看使用TableLayoutPanel。您可以根据找到的目录数动态更改其中的行数/列数。