基本上我嘗試在指定的路徑中打開一個文件foreach文件夾。 例如 - 在指定的路徑中,我有一個名爲「A」的文件夾,在這個文件夾內有另一個名爲「B1」「B2」「B3」的文件夾,所以在這些文件夾中有另一個名爲「C」 foreach「C」文件夾中有一個名爲「D」的文件。 我試圖將「B」文件夾放入組合框,並選擇一個文件夾以打開「D」文件。C#查找文件foreach文件夾
A > B1 > C > D.txt
> B2 > C > D.txt
> B3 > C > D.txt
等等。 請幫我管理這個。
var tfs =
TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(path));
var vcs = tfs.GetService<VersionControlServer>();
private void PopulateTreeView()
{
var tfs =
TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs2012:8080/tfs/DefaultCollection_2010/"));
var vcs = tfs.GetService<VersionControlServer>();
var workspace = vcs.QueryWorkspaces(workspaceName, vcs.AuthorizedUser, Environment.MachineName)[0];
_workspace = workspace;
tvWksNavigator.Nodes.Clear();
var info = new DirectoryInfo(workspace.Folders[10].LocalItem);
if (info.Exists)
{
var rootNode = new TreeNode(info.Name) { Tag = info };
TreeNode bNode;
DirectoryInfo[] subSubDirs;
foreach (var subDir in info.GetDirectories().Where(c => c.Name=="Media"))
{
bNode = new TreeNode(subDir.Name, 0, 0);
bNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, bNode);
}
rootNode.Nodes.Add(bNode);
}
tvWksNavigator.Nodes.Add(rootNode);
}
}
private void GetDirectories(DirectoryInfo[] subDirs,
TreeNode nodeToAddTo)
{
TreeNode aNode;
DirectoryInfo[] subSubDirs;
foreach (var subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
aNode.ImageKey = "folder";
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
}
我做了一個樹形視圖,但我無法拿到每個文件夾的具體位置 – user1415791
顯示你的代碼。 – DaveDev
是的,請顯示你到目前爲止。你也總是知道文件夾結構嗎?會有一個B4嗎?樹可以擴展到C以外的目錄嗎? – MattR