Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace TreeView_Folder
{
public partial class Form1 : Form
{
//static void AddRoot(TreeView TreeView1, ImageList ImageList1)
//{
// DirectoryInfo di = new DirectoryInfo(@"D:\");
// try
// {
// foreach (DirectoryInfo di2 in di.GetDirectories())
// {
// TreeNode tn = new TreeNode(di2.Name);
// TreeView1.ImageList = ImageList1;
// tn.ImageIndex = 0;
// DirectoryInfo d3 = new DirectoryInfo(di2.FullName);
// foreach (DirectoryInfo d4 in d3.GetDirectories())
// {
// tn.Nodes.Add(new TreeNode(d4.Name));
// }
// TreeView1.Nodes.Add(tn);
// }
// }
// catch (UnauthorizedAccessException e)
// {
// Console.WriteLine(e.Message);
//
static void New(string name)
{
DirectoryInfo dr = new DirectoryInfo(name);
DirectoryInfo[] dirinfo = dr.GetDirectories();
foreach (var a in dirinfo)
{
New(a.FullName);
}
}
static void AddRoot(string name, TreeView treeView1, ImageList imageList1)
{
try
{
DirectoryInfo dr = new DirectoryInfo(name);
DirectoryInfo[] dirinfo = dr.GetDirectories();
foreach (var a in dirinfo)
{
TreeNode tn = new TreeNode(a.Name);
treeView1.ImageList = imageList1;
New(a.FullName);
}
}
catch (DirectoryNotFoundException e)
{
Console.WriteLine(e.Message);
}
}
public Form1()
{
InitializeComponent();
AddRoot(@"D:\caня\",treeView1,imageList1);
}
}
}
в закоментированом коде рабочая прога но там только открытие папок в 2 уровня, во вотором коде хотел реализовать все папки с помощью рекурсии но видно чтото не так написал ,если кто знает как поправить плизик помогите