środa, 30 września 2009

Pliki i foldery w TreeView

Przeglądając fora, można natknąć się na wiele pytań dotyczących tego jak wypełnić komponent TreeView plikami/katalogami znajdującymi się w określonej lokalizacji. Jedną z najprostszych metod jest użycie rekurencji. Bez rozpisywania gotowiec:
private void GetFolder(string path, TreeNode p)
        {
            DirectoryInfo di = new DirectoryInfo(path);
            try
            {
                foreach (DirectoryInfo item in 
di.GetDirectories())
                {
                    TreeNode t = new TreeNode(item.Name);
                    Application.DoEvents();
                    p.Nodes.Add(t);
                    GetFolder(item.FullName, t);
                }

                foreach (FileInfo item in di.GetFiles())
                {
                    TreeNode t = new TreeNode(item.Name);
                    p.Nodes.Add(t);
                }
            }
            catch(Exception)
            { 
            }

        }
javascript:void(0)

Kod można oczywiście ulepszyć. Całość można np. przenieść do innego wątku itp.
Miłego eksperymentowania.

Brak komentarzy:

Prześlij komentarz