/// <summary> /// 特殊フォルダノードの追加 /// </summary> private void AddSpecialFolderNode() { AddNode(Environment.SpecialFolder.Desktop, "デスクトップ"); AddNode(Environment.SpecialFolder.MyDocuments, "マイドキュメント"); AddNode(Environment.SpecialFolder.MyPictures, "マイピクチャー"); return; //ノードを追加します void AddNode(Environment.SpecialFolder kind, String text) { //特殊フォルダのパスを取得します var path = Environment.GetFolderPath(kind); //フォルダノードを作成します var node = new DirTreeNode(path, text); this.RootNode.Nodes.Add(node); //ダミーノードを追加します AddDummyNode(node, path); } }
//ノード配下のノードを追加します private void AddSubNodes(TreeNode expandNode) { //パスを取得します var path = GetPath(expandNode); //フォルダ一覧を取得します IList <string> dirList = FileUtils.GetDirList(path); //フォルダ一覧のフォルダを1つずつノードとして追加します foreach (var dirPath in dirList) { //パスからファイル名を取得します var dirName = Path.GetFileName(dirPath); //フォルダノードを作成します var dirNode = new DirTreeNode(dirName, dirName); //フォルダノードを追加します expandNode.Nodes.Add(dirNode); //追加したノード配下にダミーノードを追加します AddDummyNode(dirNode, dirPath); } }