C# 在运行时动态添加listbox

C# 在运行时动态添加listbox,c#,windows,winforms,visual-studio-2012,C#,Windows,Winforms,Visual Studio 2012,我需要在应用程序运行时将列表框添加到windows窗体应用程序(C#)。我的问题是我不知道有多少框将被添加。。。应用程序将检查目录的特定路径,当前列出的每个目录都需要是一个单独的列表框。。。有办法做到这一点吗?我目前正在通过创建7个列表框来攻击它,并根据目录的数量使它们可见或不可见。。。但有可能超过7次 非常感谢您的帮助 谢谢为了扩展Habib的答案,您需要创建一个动态列表框,将其弹出,然后将其添加到某个容器中: ListBox lb = new ListBox(); // populate "

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

非常感谢您的帮助


谢谢

为了扩展Habib的答案,您需要创建一个动态列表框,将其弹出,然后将其添加到某个容器中:

ListBox lb = new ListBox();
// populate "lb" somehow
this.Controls.Add(lb);
上面的代码可以在一个循环中


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

类似于
this.Controls.Add(new ListBox())为什么不让它像Windows资源管理器那样工作呢?任何用户都会理解在左边有目录树视图,在右边有列表。