1
我想将目录结构加载到TreeView中。如果文件夹中有一个txt文件,它必须中断。子文件夹和文件不应显示。请帮我找到一个算法如何将文件夹结构加载到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())
{
if (directory.Name.EndsWith("txt"))
{
break;
}
else
{
directoryNode.Nodes.Add(CreateDirectoryNode(directory));
}
}
foreach (var file in directoryInfo.GetFiles())
{
if (directoryNode.Name.EndsWith("txt"))
{
directoryNode.Nodes.Add(new TreeNode(file.Name));
}
}
return directoryNode;
}
究竟什么是你的问题?你通常会想要一个递归解决方案。 (另外:我建议使用Path.GetExtension而不是EndsWith。) – TaW
如果在父文件夹中有一个txt文件应该不显示子文件夹和文件 –
“如果有是文件夹中的一个txt文件,它必须中断“ - 这是什么意思?你想实现什么? –