Yazı Font Küçült Yazı Font Büyült

ListView da Directory Bilgilerini Göstermek  

Bu makalede Listview nesnesinde C deki dosyaları ve bu dosyalara en son erişim tarihlerini listview da göstereceğiz. Aşağıdaki şekli inceleyin.

Resim 1

Şekil 1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        private System.Collections.Specialized.StringCollection folderCol; 
        private System.Windows.Forms.ImageList imageBuyuk;
        private System.Windows.Forms.ImageList imageKucuk;
        private System.Windows.Forms.ListView dosyalar;
        private System.Windows.Forms.Label lbldosyapath;
        public Form1()
        {
            InitializeComponent();
            folderCol = new System.Collections.Specialized.StringCollection();
            CreateHeadersAndFillListView();
            PaintListView(@"C:\");
            folderCol.Add(@"C:\");

            this.dosyalar.ItemActivate += new System.EventHandler(this.lwFilesAndFolders_ItemActivate);
        }

        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.lbldosyapath = new System.Windows.Forms.Label();
            this.imageBuyuk = new System.Windows.Forms.ImageList(this.components);
            this.imageKucuk = new System.Windows.Forms.ImageList(this.components);
            this.dosyalar = new System.Windows.Forms.ListView();
            this.SuspendLayout();
            //
            // lbldosyapath
            //
            this.lbldosyapath.Location = new System.Drawing.Point(16, 9);
            this.lbldosyapath.Name = "lbldosyapath";
            this.lbldosyapath.Size = new System.Drawing.Size(528, 19);
            this.lbldosyapath.TabIndex = 3;
            //
            // imageBuyuk
            //
            this.imageBuyuk.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
            this.imageBuyuk.ImageSize = new System.Drawing.Size(32, 32);
            this.imageBuyuk.TransparentColor = System.Drawing.Color.Transparent;
            //
            // imageKucuk
            //
            this.imageKucuk.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
            this.imageKucuk.ImageSize = new System.Drawing.Size(16, 16);
            this.imageKucuk.TransparentColor = System.Drawing.Color.Transparent;
            //
            // dosyalar
            //
            this.dosyalar.LargeImageList = this.imageBuyuk;
            this.dosyalar.Location = new System.Drawing.Point(16, 37);
            this.dosyalar.MultiSelect = false;
            this.dosyalar.Name = "dosyalar";
            this.dosyalar.Size = new System.Drawing.Size(400, 249);
            this.dosyalar.SmallImageList = this.imageKucuk;
            this.dosyalar.TabIndex = 0;
            this.dosyalar.UseCompatibleStateImageBehavior = false;
            this.dosyalar.View = System.Windows.Forms.View.List;
            //
            // Form1
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 15);
            this.ClientSize = new System.Drawing.Size(423, 293);
            this.Controls.Add(this.lbldosyapath);
            this.Controls.Add(this.dosyalar);
            this.Name = "Form1";
            this.Text = "ListView";
            this.ResumeLayout(false);

        }

        private void CreateHeadersAndFillListView()
        {
            ColumnHeader sutunBaslik;

            sutunBaslik = new ColumnHeader();
            sutunBaslik.Text = "Dosya Adı";
            this.dosyalar.Columns.Add(sutunBaslik);

            sutunBaslik = new ColumnHeader();
            sutunBaslik.Text = "Boyut";
            this.dosyalar.Columns.Add(sutunBaslik);

            sutunBaslik = new ColumnHeader();
            sutunBaslik.Text = "En Son Erişim Tarihi";
            this.dosyalar.Columns.Add(sutunBaslik);
        }

        private void PaintListView(string root)
        {
            try
            {
                ListViewItem lvi;
                ListViewItem.ListViewSubItem lvsi;

                this.lbldosyapath.Text = root + "    (Dosya adına çift tıkla...)";

                System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(root);

                DirectoryInfo[] dirs = dir.GetDirectories();
                FileInfo[] files = dir.GetFiles();

                this.dosyalar.Items.Clear();

                this.dosyalar.BeginUpdate();

                foreach (System.IO.DirectoryInfo di in dirs)
                {
                    lvi = new ListViewItem();
                    lvi.Text = di.Name;
                    //lvi.ImageIndex = 0;
                    lvi.Tag = di.FullName;

                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = "sub item";
                    lvi.SubItems.Add(lvsi);

                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = di.LastAccessTime.ToString();
                    lvi.SubItems.Add(lvsi);

                    this.dosyalar.Items.Add(lvi);
                }
                this.dosyalar.EndUpdate();
            }
            catch (System.Exception err)
            {
                MessageBox.Show("Hata: " + err.Message);
            }

            this.dosyalar.View = View.Details;
        }

        private void lwFilesAndFolders_ItemActivate(object sender, System.EventArgs e)
        {
            System.Windows.Forms.ListView lw = (System.Windows.Forms.ListView)sender;
            string filename = lw.SelectedItems[0].Tag.ToString();

            Console.WriteLine(filename);
        }
    }
}

//Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN