【问题标题】:Populate a TreeView with a string directory使用字符串目录填充 TreeView
【发布时间】:2010-12-30 13:00:29
【问题描述】:

如何使用目录作为字符串填充 TreeView。我正在使用 FolderBrowserDialog 来选择一个文件夹,并使用 SelectedPath 属性来获取字符串路径(即 C:\Users\Admin)。


另外,我可以查看这样的文件吗?

【问题讨论】:

    标签: c# winforms treeview


    【解决方案1】:

    将目录节点添加到树视图。将节点名称设置为完整路径,将文本设置为目录名称。

    递归地将节点添加到树视图。使用 System.IO DirectoryInfo 和 FileInfo 集合来获取每个 DirectoryInfo 对象中的文件和目录。使递归函数的终止条件为没有子目录的情况。

    【讨论】:

      【解决方案2】:
      private void button1_Click(object sender, EventArgs e)
      {
          FolderBrowserDialog dialog = new FolderBrowserDialog();
          if (dialog.ShowDialog() != DialogResult.OK) { return; }
      
          this.treeView1.Nodes.Add(TraverseDirectory(dialog.SelectedPath));
      
      }
      
      
      private TreeNode TraverseDirectory(string path)
      {
          TreeNode result = new TreeNode(path);
          foreach (var subdirectory in Directory.GetDirectories(path))
          {
              result.Nodes.Add(TraverseDirectory(subdirectory));
          }
      
          return result;
      }
      

      【讨论】:

        【解决方案3】:

        您可以考虑使用Shell MegaPack 中的FolderView 和FileView 等控件。它们可以放在您自己的表单中,而不是弹出模式对话框。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-08
          • 2017-04-18
          • 2015-01-16
          • 1970-01-01
          • 1970-01-01
          • 2019-06-12
          • 2013-07-16
          相关资源
          最近更新 更多