KMRT BSRN

"Hiç kimsenin ilgisine ihtiyaç duymadığın gün olgunlaşırsın. Hiç kimseden beklentiye girmediğin gün yara almazsın. Ve hiç kimseye bağımlı kalmazsan kazanırsın." OSHO

C# – Klasör ve Dosya Hiyerarşisi Oluşturma

Yorum bırakın


Bir Windows Application açalım..

Form üzerine 1 adet TreeView ve 1 tane button koyup aşağıdaki kodları yazalım..



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 CS_SearchDirectory
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

//Dosya sistemi dallanmasını oluşturan döngü..
private TreeNode src(string konum,TreeNode t)
{
//ilk olarak dallanmanınn başlayacağı klasörü belirtir..
//sonraki kullanımlarında iç içe klasör yapılarındaki klasörleri tek tek belirtir..

DirectoryInfo parentDir = new DirectoryInfo(konum);

//O anki klasördeki içindeki tüm doyalarda dön..
foreach (FileInfo f in parentDir.GetFiles())
{
//Dosyaları o klasör altına ekle..
t.Nodes.Add(f.Name);
}

//O anki klasörün altındaki klasörler için dön..
foreach (DirectoryInfo dir in parentDir.GetDirectories())

{
//eğer klasör varsa bu klasörü belirten bir treeNode oluştur..
TreeNode tn = new TreeNode(dir.Name);
//bu klasör dosya içerir yada içermez klasör içerir yada içermez biz yinede bir klasör olduğu için metodu kendi kendine çağırtıp klasör içini kontrol ediyoruz..
//bu klasör için yukardaki işlemler gerçekleşir,alt klasörleri ve dosyalar dallanma şeklinde, treeNode’lar halinde oluşur..
//Bu metod zaten treeNode döndürdüğü için oluşan treeNode’ların her biri bir klasör’dür ve üst treeNode ‘a eklenmesi gerekir..Burada Parent klasör t Node’ı oldugu için alttaki satırda iç klasörler t’ye eklenir..
t.Nodes.Add(this.src(dir.FullName, tn));
}

//gönderilen ilk directory geri gönderilir..
return t;
}

private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog fd = new FolderBrowserDialog();

if (fd.ShowDialog() == DialogResult.OK)
{
//Dallanma oluşturmuş treeNode TreeView’a eklenir..
this.treeView1.Nodes.Add(this.src(fd.SelectedPath, new TreeNode(fd.SelectedPath)));
}
}
}
}

Reklamlar

Yazar: K. Murat BAŞEREN, MBA, MCP

I am a senior software developer, MCP, consultant, blogger, former chemist and software trainer. My interests range from software developer to technology. I am also interested in web development, education, and coffee.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s