c# treeview 年月日 分类: .NET 20121217 18:02 501人阅读 评论(0) 收藏

这个没含量,以前也没用过treeview控件,初次用。

需求:F盘下有年目录,下面有月目录,再下面就是天的文件,用treeview显示下,折腾了一两个小时,搞出来了。




//初始化树形列表值
        private void Test_Load(object sender, EventArgs e)
        {
            //基目录
            string basePath = @"F:\comback\Release\log";

            //年目录
            string[] years = Directory.GetDirectories(basePath);

            //循环年份,获取月,获取天
            for (int i = 0; i < years.Length; i++)
            {
                int yearIndex = years[i].LastIndexOf('\\') + 1;
                string year = years[i].Substring(yearIndex, years[i].Length - yearIndex);

                //获取月目录
                string[] months = Directory.GetDirectories(years[i]);
                
                //创建月节点
                TreeNode[] sons = new TreeNode[months.Length];
                
                //循环月目录
                for (int j = 0; j < months.Length;j++ )
                {
                    int monthIndex = months[j].LastIndexOf('\\') + 1;
                    string month = months[j].Substring(monthIndex, months[j].Length - monthIndex);

                    //填充月节点
                    sons[j] = new TreeNode(month);

                    //获取天
                    string[] days = Directory.GetFiles(months[j]);

                    //创建天节点
                    TreeNode[] grands = new TreeNode[days.Length];

                    for (int k = 0; k < days.Length;k++ )
                    {
                        int dayIndex = days[k].LastIndexOf('\\') + 1;
                        string day = days[k].Substring(dayIndex, days[k].Length - dayIndex);

                        //填充天节点
                        grands[k] = new TreeNode(day);
                    }

                    //将天节点添加到月节点里
                    sons[j].Nodes.AddRange(grands);
                }

                TreeNode node =  new TreeNode(year, sons);
                //填充树形值
                this.treeView1.Nodes.Add(node);
            }
        }


效果:


版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/configman/p/4657573.html