将图像添加到从目录加载的TreeView中
问题描述:
我有一个加载选定目录树的Treeview
。现在我想使目录有一个文件夹图像和文件一个文件图像。文件夹和文件图像都在连接到我的treeview
的imagelist
中。我如何调整下面的代码来做到这一点?将图像添加到从目录加载的TreeView中
private void ListDirectory(TreeView treeview, string path)
{
treeview.Nodes.Clear();
var rootDirectoryInfo = new DirectoryInfo(path);
treeview.Nodes.Add(CreateDirectoryNode(rootDirectoryInfo));
}
private static TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo)
{
var directoryNode = new TreeNode(directoryInfo.Name);
foreach (var directory in directoryInfo.GetDirectories())
{
directoryNode.Nodes.Add(CreateDirectoryNode(directory));
}
foreach (var file in directoryInfo.GetFiles())
{
directoryNode.Nodes.Add(new TreeNode(file.Name));
}
return directoryNode;
}
答
假设Directory image
有0
指数在imagelist
和File image
有1
指数在图像列表:
private static TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo)
{
var directoryNode = new TreeNode(directoryInfo.Name){ImageIndex=0};
foreach (var directory in directoryInfo.GetDirectories())
{
directoryNode.Nodes.Add(CreateDirectoryNode(directory));
}
foreach (var file in directoryInfo.GetFiles())
{
directoryNode.Nodes.Add(new TreeNode(file.Name){ImageIndex=1});
}
return directoryNode;
}
@KingKong谢谢!完美的作品! – daJbot