zoukankan      html  css  js  c++  java
  • c# 获取收藏夹目录到树型控件

    private void ReportForm_Load(object sender, EventArgs e)
    {
                DirectoryInfo favfolder = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.Favorites));
                FileSystemInfo[] myFileSystemInfo = favfolder.GetFileSystemInfos();
                TreeNode RootNode = new TreeNode();
                RootNode.Text = "收藏夹";
                this.treeView1.Nodes.Add(RootNode);
                this.treeView1.ExpandAll();
                GetDir(myFileSystemInfo, RootNode);

    }
            private void GetDir(FileSystemInfo[] myFavDir, TreeNode RootNode)
            {
                string myStr = "";
                string myUrl = "";
                string myDesc = "";
                if (myFavDir == null)
                {
                    throw new ArgumentNullException("myfavdir");
                }
                foreach (FileSystemInfo filesysteminfo in myFavDir)
                {
                    TreeNode tn = new TreeNode();
                    //文件目录
                    if (filesysteminfo.GetType() == typeof(DirectoryInfo))
                    {
                        tn.Text = filesysteminfo.Name;
                        RootNode.Nodes.Add(tn);
                        //强制转化为文件目录格式
                        DirectoryInfo childfile = (DirectoryInfo)filesysteminfo;
                        //递归调用
                        GetDir(childfile.GetFileSystemInfos(), tn);
                    }
                    //文件格式
                    else if (filesysteminfo.GetType() == typeof(FileInfo))
                    {
                        string fitler = ".url";
                        //过滤功能
                        if (filesysteminfo.FullName.ToLower().EndsWith(fitler.ToLower()))
                        {
                            using (StreamReader sr = new StreamReader(filesysteminfo.FullName, Encoding.Default))
                            {
                                myStr = sr.ReadLine();
                                while (myStr != null)
                                {
                                    //获取URL地址
                                    if (myStr.ToLower().StartsWith(URLPrefix))
                                    {
                                        myUrl = myStr.Substring(URLPrefix.Length);

                                    }
                                    else if (myStr.ToLower().StartsWith(DescriptionPrefix))
                                    {
                                        myDesc = myStr.Substring(DescriptionPrefix.Length);
                                    }
                                    myStr = sr.ReadLine();
                                }
                            }
                            TreeNode tnchild = new TreeNode();
                            tnchild.Text = filesysteminfo.Name;
                            tnchild.Tag = myUrl;
                            RootNode.Nodes.Add(tnchild);
                        }
                    }
                }

            }

  • 相关阅读:
    C#操作XML配置文件
    Git详细命令
    ng : File C:UsersaronAppDataRoaming pm g.ps1 cannot be loaded because running
    Abstract抽象类 && Interface接口
    Markdown基本使用
    Scrapy基本使用
    request取值相关
    轮询与长轮询
    爬虫
    Flask相关组件及应用
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1769647.html
Copyright © 2011-2022 走看看