İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Treeview Dizin Hiyerarşi Görüntülemek

C# Treeview Dizin Hiyerarşi Görüntülemek
C# Treeview Dizin Hiyerarşi Görüntülemek
+ - 0

Merhabalar, bu yazımda C# Treeview Dizin Hiyerarşi Görüntülemek konusunda değineceğim. Bazı projelerimizde klasör (dizin) hiyerarşisiniz göstermememiz gerekebiliyor. Bu yazıdaki kodlar ve proje bu gibi projelerde kullanabilmeniz için bir içerik olacaktır.

C# Treeview Dizin Hiyerarşi Görüntülemek

Projeler geliştirirken bazen kullanıcılara dizin hiyerarşisi göstermemiz gerekebiliyor.  Bu yazımda  da sizlere bu kodları vereceğim. Bu kodları ben yazmadım. Kaynağı yazının sonunda bulabilirsiniz.

Bu örnek , TreeView denetimine aşağıdaki LoadFromDirectory uzantı yöntemini ekler .

 

public static void LoadFromDirectory(this TreeView trv, string directory, int folder_img, int file_img)
{
    DirectoryInfo dir_info = new DirectoryInfo(directory);
    AddDirectoryNodes(trv, dir_info, null, folder_img, file_img);
}

Bu yöntem , TreeView'a yüklenmesi gereken dizini temsil eden bir DirectoryInfo nesnesi oluşturur . Ardından aşağıdaki AddDirectoryNode yöntemini çağırır .

 

public static void AddDirectoryNodes(TreeView trv, DirectoryInfo dir_info, TreeNode parent, int folder_img, int file_img)
{
    TreeNode dir_node;
    if (parent == null) dir_node = trv.Nodes.Add(dir_info.Name);
    else dir_node = parent.Nodes.Add(dir_info.Name);

    if (folder_img >= 0) dir_node.ImageIndex = folder_img;

    foreach (DirectoryInfo subdir in dir_info.GetDirectories())
        AddDirectoryNodes(trv, subdir, dir_node, folder_img, file_img);

    foreach (FileInfo file_info in dir_info.GetFiles())
    {
        TreeNode file_node = dir_node.Nodes.Add(file_info.Name);
        if (file_img >= 0) file_node.ImageIndex = file_img;
    }
}

Yöntem klasörlerin ve dosyaların arasında dolaşır ve klasör düğümlerinin altına dosya düğümleri ekler.  ImageList kullanarak da klasör ve dosya ikonlarını kullanarak görüntünün daha hoş bir halde olmasını sağlar. İkonları proje dosyalarına eklenmiştir.

 


Bu yazımızda bu kadardı arkadaşlar. Dediğim gibi bu kodları ben yazmadım. Bir projem için lazım olmuştu ve bu kodları biraz değiştirerek sorunumu çözmüştüm. Size kodların orjinal halini veriyorum. Kodlar yukarıdaki gibidir ancak projeyi github profilime de ekledim. Her zamanki gibi aşağıda ilgili bağlantıları bulabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.  Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Ayrıca bu projenin Github Sayfasına bağlantıya tıklayarak ulaşabilirsiniz.

Arkadaşlar ayrıca Telegram kanalıma abone olabilir ve yeni yazılardan anında haberdar olabilirisiniz. https://t.me/mbchsarpsqlyardim. Aynı zamanda sorular sorabileceğiniz chat grubumuz da mevcuttur.

Discord’a katılmayı unutmayın.

Sağlıcakla ve kodla kalın….

Kaynak: CSharpHelper

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)