퇴근5분전



트리노드 검색해서 확장하기... 

훈스 C#게시판에 올라왔던 질문중에 하나 답글달아본거... 그냥 기록? 해둠..

질문자는 탐색기를 만드는것 같았는데...

아래처럼 자식노드이름을 FullPath로 놓고 Text는 해당 DirectoryName Or FileName으로 두면

[그랑께] 노드의 Name속성은 C:\드라이브\어쩌고\그랑께 을 가지게 되고
Text속성은 그랑께 로 위에 그림처럼 나오게 된다.

이때 탐색기 주소줄에 경로 넣듯이 그랑께 <--를 직접 넣었을때
노드확장을 하고자 하면 아래 소스처럼 하면 간단하게 된다.

위에서 차례 차례 검색하는 것보다는 해당 노드를 직접 찾고 그 부모노드를 열어주면 몇단계 안거치고 빠르게 가능해진다. 

  private void button1_Click(object sender, EventArgs e)
        {
           TreeNode[] t = treeView1.Nodes.Find(@"C:\드라이브\어쩌고\그랑께", true);
           if (t.Length > 0)
           {
               ExpendParent(t[0]);
           }
        }
        private void ExpendParent(TreeNode p)
        { 
            p.Expand();  // 자기노드 확장
            if (p.Parent != null)
            {
                ExpendParent(p.Parent);  // 부모노드를 다음으로 넣어준다.
            }
        }

참 쉽돵..  아침 군것질 거리로 딱이네...