ファイル構造からツリーを作成するには パターン的に良く使われるのは、ファイル構造からツリーを作成することだと思います。
ここではその例を示します。
再起関数を使用して、ファイルツリーをトラバースし、TreeViewを構築していきます。
TreeView treeView = new TreeView();
private void ConstructTree()
{
treeView.Nodes[0].Nodes.Clear();
TreeNode node = treeView.Nodes[0];
ConstructTreeRecursive(node);
}
private void ConstructTreeRecursive()
{
string directoryName = Application.StartupPath + "\\" + node.FullPath;
if(Directory.Exists(directoryName) == false) return;
DirectoryInfo directory = new DirectoryInfo(directoryName);
// Files
FileInfo [] files = directory.GetFiles();
foreach(FileInfo file in files)
{
TreeNode newNode = node.Nodes.Add(file.Name);
newNode.ImageIndex = 1;
newNode.SelectedImageIndex = 1;
}
// Directories
DirectoryInfo[] subDirectories = directory.GetDirectories();
foreach(DirectoryInfo subDirectory in subDirectories)
{
TreeNode newNode = node.Nodes.Add(subDirectory.Name);
newNode.ImageIndex = 0;
newNode.SelectedImageIndex = 0;
ConstructDocumentTreeRecursive(newNode);
}
}
目次に戻る
| Copyright(c) 2008 WoodenSoldier Software |
|