这个没含量,以前也没用过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);
}
}
效果: