Добавление узлов в TreeView - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Суть такова : 1.Есть строка, являющаяся путем к директории или файлу (Например, "C:\\Game\\Dota2\\Dota2.cfg") 2.Есть объект TreeView, который может содержать другие пути Например, C:\ -Game --FlappyBird ---FlappyBird.exe --CS:GO ---cs:go.exe 3.Есть метод, который добавляет в TreeView несуществующие пути (В данном случае это "C:\\Game\\Dota2\\Dota2.cfg") И если раньше у нас был TreeView, описанный выше, то после выполнения метода он станет вот таким : C:\ -Game --FlappyBird ---FlappyBird.exe --CS:GO ---cs:go.exe --Dota2 ---Dota2.cfg Т.е. Добавился путь к Dota2.cfg Это программа проводник, но я не могу реализовать 3ий пункт. В интернете я подобных решений не нашел, т.к. мне надо все пути хранить в виде массива, а потом из массива уже в TreeView. ======================================================================= Буду очень преблагодарен за помощь !!!

Решение задачи: «Добавление узлов в TreeView»

textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
    TreeNode AddFile(string path)
    {
        var file = new FileInfo(path);
        var dir = AddDirectory(file.Directory);
        return dir.Nodes[file.name] ?? dir.Nodes.Add(file.Name, file.Name);
    }
    TreeNode AddDirectory(DirectoryInfo dir)
    {
        var level = dir.Parent == null ? treeView1.Nodes : AddDirectory(dir.Parent).Nodes;
        return level[dir.Name] ?? level.Add(dir.Name, dir.Name);
    }
}

Оцени полезность:

13   голосов , оценка 3.538 из 5