2017-07-21 8 views
0

リストボックス内のフォルダ内のすべてのディレクトリをリストしました。関数Cのリストボックス項目を使用する

private void Form1_Load_1(object sender, EventArgs e) 
    { 
      listBox3.Items.Clear(); 
      string[] dirs = Directory.GetDirectories("C:\\Users\\foo\\Desktop\\test"); 

      foreach (string dir in dirs) 
      { 
      listBox3.Items.Add(dir); 
      } 
    } 

サブディレクトリも同様にリストできますか? Windowsコマンドプロンプトのコマンド "ツリー"と同じように。ありがとう

答えて

0

すべてのフォルダを掘り下げる再帰関数を実行します。

このようなものです。

static void Main(string[] args) 
{ 
    RecursiveSearch(@"C:\\Users\\foo\\Desktop\\test"); 
    Console.ReadKey(); 
} 

static void RecursiveSearch(string dir) 
{ 
    try 
    { 
     foreach (string f in Directory.GetFiles(dir)) 
      Console.WriteLine(f); 
     foreach (string d in Directory.GetDirectories(dir)) 
     { 
      Console.WriteLine(d); 
      RecursiveSearch(d); 
     } 
    } 
    catch (System.Exception ex) 
    { 
     Console.WriteLine(ex.Message); 
    } 
} 
関連する問題