2013-11-15 5 views
0
 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); 
     } 

это код, который у меня есть сейчас, который не работает, никаких идей?Добавление подпапок в combobox

+1

что делает "это не работает" на самом деле означает? Это ошибка? Что вы ожидаете от этого, чего нет? – dav1dsm1th

+0

Сопоставление остается пустым после загрузки этого конкретного окна, когда предполагается, что он перечисляет все подпапки – BradenMeche11

+0

У меня есть исходный код в VB, который работает, но когда я конвертирую его в C#, это не перечисление всего в combobox – BradenMeche11

ответ

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

Ya ты был прав, спасибо, сэр! – BradenMeche11

+0

Наверное, неплохо выбрать ответ и закрыть вопрос. Рад, что вы это исправили. – dav1dsm1th

0

Try что-то вроде:

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

foreach(DirectoryInfo folder in directories) 
    CustomerComboBox.Items.Add(folder.Name); 
Смежные вопросы