ListView Dosyaları Ve Klasörleri Simgeleriyle Birlikte Yükle - CSharp


Verilen ListView nesnesine tam yolu verilen bir klasör içindeki içerikleri simgeleriyle birlikte listelemeye yarayan csharp kodu alternatifidir.

Kod


public static void DosyalariVeKlasorleriSimgeleriyleBirlikteYukle(
    ListView listView, string klasorYolu)
{
    //https://www.youtube.com/watch?v=oFvdPtRXmcg
    ImageList imageList = new ImageList();

    imageList.ColorDepth = ColorDepth.Depth32Bit;
    imageList.ImageSize = new Size(16, 16);

    listView.View = View.Details;
    listView.LargeImageList = imageList;
    listView.SmallImageList = imageList;

    listView.Items.Clear();
    listView.Columns.Clear();
    imageList.Images.Clear();

    listView.Columns.Add("İçerik");
    listView.Columns.Add("Yol");

    string[] files = Directory.GetFileSystemEntries(
        klasorYolu, "*", SearchOption.TopDirectoryOnly);
    foreach (string file in files)
    {
        FileInfo fi = new FileInfo(file);
        if (File.Exists(file))
        {
            imageList.Images.Add(Icon.ExtractAssociatedIcon(file));
            listView.Items.Add(fi.Name, imageList.Images.Count - 1).SubItems.Add(fi.DirectoryName);
        }
        else
        {
            //imageList.Images.Add(Properties.Resources.folder);
            listView.Items.Add(fi.Name, imageList.Images.Count - 1).SubItems.Add(fi.DirectoryName);
        }
    }

    listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
}

Etiketler
csharp