将图像添加到从目录加载的TreeView中

问题描述:

我有一个加载选定目录树的Treeview。现在我想使目录有一个文件夹图像和文件一个文件图像。文件夹和文件图像都在连接到我的treeviewimagelist中。我如何调整下面的代码来做到这一点?将图像添加到从目录加载的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 image0指数在imagelistFile image1指数在图像列表:

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; 
} 
+0

@KingKong谢谢!完美的作品! – daJbot