Как я заполняю TreeView с каталогом как строка. Я использую FolderBrowserDialog для выбора папки и свойства SelectedPath для получения строкового пути (т.е. C:\Users\Admin).
Кроме того, я мог просмотреть файлы как это?
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
if (dialog.ShowDialog() != DialogResult.OK) { return; }
this.treeView1.Nodes.Add(TraverseDirectory(dialog.SelectedPath));
}
private TreeNode TraverseDirectory(string path)
{
TreeNode result = new TreeNode(path);
foreach (var subdirectory in Directory.GetDirectories(path))
{
result.Nodes.Add(TraverseDirectory(subdirectory));
}
return result;
}
Добавьте узел каталога в дерево. Установите имя узлов на полный путь и текст на имя каталога.
Рекурсивно добавляйте узлы в деревообзор. Используйте коллекции System.IO DirectoryInfo и FileInfo для получения файлов и каталогов в каждом объекте DirectoryInfo. сделайте условие завершения рекурсивной функции в случае отсутствия дочерних каталогов.
.Можно рассмотреть возможность использования таких элементов управления, как FolderView и FileView из Shell MegaPack. Их можно поместить внутрь собственных форм, вместо того, чтобы вызывать модальные диалоги.