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);
}
这是我现在的代码,它不起作用,有什么想法吗?
答案 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);