這是一個很簡單的窗體操作,以前是學WEB,對WINFORM的不是很熟悉,所以第一次用這個TreeView有點不會用的感覺。在網上找的都太過雜亂復雜。所以把自己寫的貼出來,供一些初學者參考。不斷的遞歸文件。以此來遍歷整個電腦的磁盤內容,過程也很簡單。這種算法的時間復雜度太大。以至於窗體打開較慢,據說有可以更簡便的實現,提高效率,希望懂的人可以指點下。。。

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Text; 7 using System.Windows.Forms; 8 using System.IO; 9 namespace Object 10 { 11 public partial class Form3 : Form 12 { 13 public Form3() 14 { 15 InitializeComponent(); 16 } 17 private void Form1_Load(object sender, EventArgs e) 18 { 19 try 20 { 21 ///獲取所有驅動盤目錄 22 string[] s = Directory.GetLogicalDrives(); 23 ///通過遍歷去添加所有父節點 24 foreach (string m in s) 25 { 26 ///父節點 27 TreeNode node = new TreeNode(m); 28 ///給treeview添加節點 29 this.treeView1.Nodes.Add(node); 30 ///調用方法遞歸出磁盤的所有文件,並將父節點和路徑傳入 31 expendtree(m,node); 32 } 33 } 34 catch { } 35 } 36 private void expendtree(string path,TreeNode tn) 37 { 38 try 39 { 40 ///獲取父節點目錄的子目錄 41 string[] s1 = Directory.GetDirectories(path); 42 ///子節點 43 TreeNode subnode = new TreeNode(); 44 ///通過遍歷給傳進來的父節點添加子節點 45 foreach (string j in s1) 46 { 47 subnode = new TreeNode(j); 48 tn.Nodes.Add(subnode); 49 ///對文件夾不斷遞歸, 得到所有文件 50 expendtree(j, subnode); 51 } 52 } 53 catch { } 54 } 55 } 56 }