zoukankan      html  css  js  c++  java
  • 用TreeView控件遍历磁盘目录

    实现效果:

      

    知识运用:

      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);
            }
    

      

  • 相关阅读:
    Swift学习 --- 2.1基础部分
    【oracle案例】ORA-01722
    一种适合于大数据的并行坐标下降法
    【机器学习算法-python实现】svm支持向量机(3)—核函数
    让Editplus支持sql语法高亮显示
    CF986F Oppa Funcan Style Remastered
    HashMap和Hashtable的区别
    ArrayList和Vector的区别
    基本概念
    java编程规范
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10165580.html
Copyright © 2011-2022 走看看