C#

[C#]TreeView 예제

선영아 사랑해 2021. 3. 31. 14:00

디스크 드라이브에서 숨길 폴더를 제외한 폴더 이름을 TreeView에 추가하는 예제

using System.IO;

private void Form_Load(object sender, EventArgs e)
{
  DriveInfo[] drive = DriveInfo.GetDrives();  
  for (int i = 0; i < drive.Length; i++)
  {
       TreeNode rootNode = new TreeNode(drive[i].Name);
       rootNode.ImageIndex = i;
       rootNode.SelectedImageIndex = i;
       treeView.Nodes.Add(rootNode);
       string[] directories = Directory.GetDirectories(drive[i].Name);
       for (int j = 0; j < directories.Length; j++)
       {
            DirectoryInfo dir = new DirectoryInfo(directories[j]);
            //숨김 폴더 제외
            if ((dir.Attributes & FileAttributes.Hidden) == 0)
            {
                 rootNode.Nodes.Add(CreateDirectoryNode(dir));
            }
       }
   }
 }
private TreeNode CreateDirectoryNode(DirectoryInfo dirInfo)
{
    TreeNode dirNode = new TreeNode(dirInfo.Name);
    try
    {
      foreach (DirectoryInfo directory in dirInfo.GetDirectories())
           dirNode.Nodes.Add(CreateDirectoryNode(directory));
    }
    catch (Exception ex)
    {                
    }
    return dirNode;
}