将子文件夹添加到组合框中

时间:2013-11-15 21:42:57

标签: combobox

        System.IO.DirectoryInfo CustomerDir = new System.IO.DirectoryInfo(Properties.Settings.Default.CustDir);

        System.IO.DirectoryInfo subDir = null;

        foreach (DirectoryInfo subDir_loopVariable in CustomerDir.GetDirectories())
        {
                subDir = subDir_loopVariable;
                CustomerComboBox.Items.Add(subDir.Name);
        }

这是我现在的代码,它不起作用,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

代码: -

    private void Form1_Load(object sender, EventArgs e)
    {
        DirectoryInfo root = new DirectoryInfo("c:/");
        foreach (DirectoryInfo directory in root.GetDirectories())
        {
            comboBox1.Items.Add(directory.Name);
        }
    }

基本上就是你的代码;完美工作(并将comboBox1加载到我的硬盘根目录中的文件夹) - 所以问题很可能是Properties.Settings.Default.CustDir没有指向你认为它的位置。在您引用的代码的第一行设置断点,进入调试器并检查该设置的值。然后单步执行代码并观察它枚举文件夹。我猜你的代码没有被执行 - 或者它正在运行的身份,因为它没有对它所指向的文件夹的访问权限(如果它成功指向一个文件夹)。

答案 1 :(得分:0)

尝试类似:

DirectoryInfo directory = new DirectoryInfo("your_directory_path");
DirectoryInfo[] directories = directory.GetDirectories();

foreach(DirectoryInfo folder in directories)
  CustomerComboBox.Items.Add(folder.Name);