C# 排除在树视图中显示某些文件夹和子文件夹
在我的一个驱动器上,我有一个文件夹结构 d:\ 我想在我的treeview中展示以下内容 d:\ i、 e仅显示“代码”和“数据库”的文件夹和子文件夹 下面是加载treeview的代码 folderLst={“123”,“234”}C# 排除在树视图中显示某些文件夹和子文件夹,c#,C#,在我的一个驱动器上,我有一个文件夹结构 d:\ 我想在我的treeview中展示以下内容 d:\ i、 e仅显示“代码”和“数据库”的文件夹和子文件夹 下面是加载treeview的代码 folderLst={“123”,“234”} 非常感谢您的帮助您有以下代码 foreach (DirectoryInfo subDir in subDirs) { aNode = new TreeNode(subDir.Name, 0, 0); aNode.Tag
非常感谢您的帮助您有以下代码
foreach (DirectoryInfo subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
您可以将其修改为不添加所需的文件夹
foreach (DirectoryInfo subDir in subDirs)
{
if(subDir.Name.Contains("Code") || subDir.Name.Contains("Database"))
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
}
Eric我尝试过这种方法,但树状视图只显示“代码”和“数据库”,但不显示子文件夹。您尝试过什么吗?怎么会失败呢?我试过了,但似乎什么都没用
private void PopulateTreeView()
{
TreeNode rootNode;
foreach (string f in folderLst)
{
DirectoryInfo info = new DirectoryInfo(@"d:\");
if (info.Exists)
{
rootNode = new TreeNode(info.Name);
rootNode.Tag = info;
GetDirectories(info.GetDirectories(), rootNode);
treeView1.Nodes.Add(rootNode);
}
}
}
private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo)
{
TreeNode aNode;
DirectoryInfo[] subSubDirs;
foreach (DirectoryInfo subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
}
foreach (DirectoryInfo subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
foreach (DirectoryInfo subDir in subDirs)
{
if(subDir.Name.Contains("Code") || subDir.Name.Contains("Database"))
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
}