treeview绑定硬盘数据文件
  KRe60ogUm4le 2024年08月09日 37 0
   using System.IO;
   using System.Management;

   public class BindFiles
    {
        private TreeView treeView1;

        public BindFiles(TreeView tree)
        {
            treeView1 = tree;
        }

        //绑定treeView
        public void GetTreeNode()
        {
            this.treeView1.Nodes.Clear();
            SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");
         ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
            int i = 0;
         foreach (ManagementObject disk in searcher.Get())
            {
                if(disk["DriveType"].ToString() == "3")
                {
                    TreeNode node = new TreeNode();
                    node.Text = disk["Name"].ToString();
                    node.Tag = disk["Name"].ToString()+"//";
                    node.ImageIndex = 0;
                    this.treeView1.Nodes.Add(node);

                    //开始不想加载子文件,完则将此句代码注释
                    InsertTree(treeView1.Nodes[i].Nodes, disk["Name"].ToString());

                    i ++;
                }
            }
        }

        /// <summary>
        /// 填充treeView节点
        /// </summary>
        /// <param name="nodes">要填充节点的父节点的子节点集合</param>
        /// <param name="dir">父节点所代表的路径</param>
        public void InsertTree(TreeNodeCollection nodes, string dir)
        {
            string[] cats = new string[0];
            try { cats = Directory.GetDirectories(dir); }
            catch { }
            if(cats.Length>0)
            {
                foreach( string cat in cats)
                {
                    TreeNode node = new TreeNode();
                    node.Text = cat.Substring(cat.LastIndexOf("//")+1);
                    node.Tag = cat+"//";
                    node.ImageIndex = 1;
                    node.SelectedImageIndex = 2;
                    nodes.Add(node);
                    nodes[nodes.Count-1].EnsureVisible();
                    //不想一次性加载完所有子文件,则将此句代码注释
                    InsertTree(node.Nodes, cat);
                }
            }
        }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年08月09日 0

暂无评论

推荐阅读
KRe60ogUm4le