用TreeView控制元件遍歷磁碟目錄
阿新 • • 發佈:2018-12-23
實現效果:
知識運用:
ListView控制元件中Items集合的Add方法 TteeView控制元件中Nodes集合的Add方法
實現程式碼:
private void Form1_Load(object sender, EventArgs e) { TreeNode rootNode = new TreeNode("我的電腦"); treeView1.Nodes.Add(rootNode); } private void ListViewShow(TreeNode NodeDir) { listViewFile.Clear(); try { if (NodeDir.Parent == null) { foreach (string DrvName in Directory.GetLogicalDrives()) { ListViewItem ItemList = new ListViewItem(DrvName); listViewFile.Items.Add(ItemList); } } else { foreach (string dirName in Directory.GetDirectories((string)NodeDir.Tag)) { ListViewItem dirItem = new ListViewItem(dirName); listViewFile.Items.Add(dirItem); } foreach (string fileName in Directory.GetFiles((string)NodeDir.Tag)) { ListViewItem fileItem = new ListViewItem(fileName); listViewFile.Items.Add(fileItem); } } } catch { } } private void TreeViewShow(TreeNode selectNode) { try { if(selectNode.Nodes.Count==0){ if (selectNode.Parent == null) { foreach (string drvName in Directory.GetLogicalDrives()) { TreeNode drvNode = new TreeNode(drvName); drvNode.Tag = drvName; selectNode.Nodes.Add(drvNode); } } else { foreach (string dirName in Directory.GetDirectories((string)selectNode.Tag)) { TreeNode dirNode = new TreeNode(dirName); dirNode.Tag = dirName; selectNode.Nodes.Add(dirNode); } } } }catch(Exception ex){ MessageBox.Show(ex.Message); } } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { TreeViewShow(e.Node); ListViewShow(e.Node); }