您的位置:首页 > 编程语言 > C#

c# 获取收藏夹目录到树型控件

2007-07-12 17:32 260 查看
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);
}
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: