C# FolderBrowserDialog Kullanımı – Örnekli Anlatım

C# FolderBrowserDialog Kullanımı – Örnekli Anlatım

20 Kasım 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 72
Yaklaşık okuma süresi : 13 DK
C# DataTable "Bu satır başka bir tabloya ait" Hatası Çözümü
C# Kurulu Antivirüsü Kontrol Etmek
C# FolderBrowserDialog Kullanımı – Örnekli Anlatım
5 (100%) 1 Oy

C# FolderBrowserDialog Kullanımı – Örnekli Anlatım, dersim ile c# eğitimlerime devam ediyorum. C# OpenFileDialog konusunu daha önce açıklamıştım ama bu dersi yazmayı unutmuşum. Bugün bana lazım oldu ve siteme baktım o dersi bulamadım. O yüzden bu dersi de yazmak istedim.

 

C# FolderBrowserDialog Kullanımı

C# OpenFileDialog, ile dosyaları seçebiliyorken, C# FolderBrowserDialog ile klasör seçiyoruz. Dialog pencereleri daha farklıdır. Aşağıda görebilirsiniz.

 

c# folderbrowserdialog kullanımı

Folder Browser Dialog’u projelerimize toolbox’tan yada kod ile ekleyebiliyoruz. Ben kod ile ekleyenlerdenim. Yani bu tarz browser dialog ları her zaman kod yazarak ekliyorum.

Nasıl ekleneceğini görelim.

        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            Klasor.ShowDialog();
        }

yukarıdaki kodlar ile folder browser dialog penceresini açabiliyoruz. Ama şu kodlarla bir işimize yaramıyor. Seçtiğimiz klasörün yolunu almamız gerekiyor. Şimdi de seçtiğimiz klasörün yolunu nasıl alacağımıza bakalım.

Seçili Klasörün Yolunu Almak

        string Secili_Klsaor_Yolu = "";
        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            Klasor.ShowDialog();
            Secili_Klsaor_Yolu = Klasor.SelectedPath;
            lbl_klasor_yolu.Text = Klasor.SelectedPath;
        }

Tanımladığımız bir değişkene ve forma eklediğimiz label’in text özelliğine seçtiğimiz klasörün yolunu bu şekilde alıyoruz. Şimdi Klasörümüzün yolunu aldık ve bir label’e yazdık.

 

Klasör Yolu Seçildiyse İşlem Yapmak

Yukarıda bir klasör seçildiğini varsaydık. Ama ya klasör seçilmediyse… Kodlarımızın hata vermemesi için sadece bir klasör seçildiyse gerekli işlemleri yapacak bir yöntemimiz var. Onu da görelim.

        string Secili_Klsaor_Yolu = "";
        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            if (Klasor.ShowDialog() == DialogResult.OK)
            {
                Secili_Klsaor_Yolu = Klasor.SelectedPath;
                lbl_klasor_yolu.Text = Klasor.SelectedPath;
                // diğer işlemleri yapılacak.
            }
            else
            {
                MessageBox.Show("Hiçbir Klasör Seçilmedi");
            }           
        }

 

İlgili İçerik  C# Random Sınıfı ile Oto Şifre Nasıl Oluşturulur?

Başlangıç Klasörü Belirlemek

Yukarıdaki görselde folder browser dialog açıldığındaki gösterdiği klasör listesini görüyorsunuz. Biz bunu değiştirebiliyoruz. Yani folder browser dialog açıldığında şu klasör görünsün diyebiliriz. Ama burada şöyle bir sorun var… Bu klasör yolunu değiştiremiyorsunuz.

NOT: Desktop için

Environment.SpecialFolder.Desktop;

Kullanabilirsiniz.

        string Secili_Klsaor_Yolu = "";
        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            Klasor.RootFolder = Environment.SpecialFolder.CommonProgramFiles;
            if (Klasor.ShowDialog() == DialogResult.OK)
            {
                Secili_Klsaor_Yolu = Klasor.SelectedPath;
                lbl_klasor_yolu.Text = Klasor.SelectedPath;
            }
            else
            {
                MessageBox.Show("Hiçbir Klasör Seçilmedi");
            }

Kodlarımız yukarıdadır. Ekran çıktısı ise aşağıdadır.

c# folderbrowserdialog1.rootfolder

görselde gördüğünüz gibi bir ekran karşımızıa çıkıyor ve sadece bu klasörü kullanabiliyoruz. Bu klasörün dışına çıkamıyoruz.

Yeni Klasör Oluşturmak / Oluşturamamak

Kullanıcıdan gerekirse bir klasör oluşturmasını isteyebiliriz. Ya da oluşturmamasını isteyebiliriz. Bu gibi durumlarda Yukarıdaki görselde gördüğünüz folder browser dialog penceresinin sol alt kısmında “Yeni Klasör Oluştur” butonunu kapatıp açabiliyoruz. Şimdi onu nasıl yapacağımızı görelim.

        string Secili_Klsaor_Yolu = "";
        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            Klasor.RootFolder = Environment.SpecialFolder.CommonProgramFiles;
            Klasor.ShowNewFolderButton = false;
            if (Klasor.ShowDialog() == DialogResult.OK)
            {
                Secili_Klsaor_Yolu = Klasor.SelectedPath;
                lbl_klasor_yolu.Text = Klasor.SelectedPath;
            }
            else
            {
                MessageBox.Show("Hiçbir Klasör Seçilmedi");
            }           
        }

Ekran çıktısı aşağıdaki gibidir.

folderbrowserdialog1 c# example

Yukarıdaki iki görseli karşılaştırabilirsiniz. 😉

 

Folder Browser Dialog Ekranına Açıklama Eklemek

Folder Browser Dialog ekranına “Klasörlere Gözat” kısmının hemen altındaki boşluğa açıklamalar yazabiliriz. Şimdi O kısma nasıl yazı yazacağımıza bakalım.

        string Secili_Klsaor_Yolu = "";
        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            Klasor.RootFolder = Environment.SpecialFolder.CommonProgramFiles;
            Klasor.ShowNewFolderButton = false;
            Klasor.Description = "Lütfen Bir Dosya Seçin";
            if (Klasor.ShowDialog() == DialogResult.OK)
            {
                Secili_Klsaor_Yolu = Klasor.SelectedPath;
                lbl_klasor_yolu.Text = Klasor.SelectedPath;
            }
            else
            {
                MessageBox.Show("Hiçbir Klasör Seçilmedi");
            }           
        }

Kodlarımız yukarıdaki gibidir. Şimdi nasıl göründüğüne bakalım.

c# folderbrowserdialog kullanımı

Yazdığımız açıklama gördüğünüz gibi başlığın hemen altında görünmektedir. Bu ekranın başlık kısmını değiştiremiyoruz.


Buraya kadar bu nesnenin kendisini gördük. Şimdi bir senaryo üzerinden örnekle görelim.

İlgili İçerik  C# Mouse Koordinatlarını Almak

Yazının girişinde, bu nesneyi bugün bir projemde kullandım demiştim. Şimdi O işleme kısaca değineyim. Bir firmadan gelen xml dosyalarının içeriğini okumam gerekiyordu. Xml’ler bir klasörde toplanmıştı ve o klasördeki tüm xml leri tek tek okuması gerekiyordu. Binlerce xml olduğundan tek tek okutmak mümkün değildi. O yüzden folder browser dialog ile klasördeki xml dosyaların listesini alıp işlemi yaptırmıştım.

Elbette burada xml okuma işlemlerinden bahsetmeyeceğim. Sadece seçilen klasördeki dosyalardan sadece xml uzantılı olanların listesi almayı göstereceğim.

Bu işlem için DirectoryInfo ve FileInfo sınıflarını kullanacağız.

DirectoryInfo ile klasör bilgileri aldıktan sonra, FileInfo ile klasördeki dosyaların özelliklerine bakarak sadece xml uzantılı olanları isteyeceğiz.

İşlemi gösterebilmek için, masaüstünde bir klasör açtım ve içi boş bir xml dosyası oluşturdum ve çoğalttım. Formumuza da bir listbox nesnesi ekledim. Yukarıdaki örnek üzerinden anlatıma devam edeceğim. Kodları ve ekran görüntüsünü de vereceğim.

        string Secili_Klsaor_Yolu = "";
        private void btn_goster_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog Klasor = new FolderBrowserDialog();
            //Klasor.RootFolder = Environment.SpecialFolder.CommonProgramFiles;
            Klasor.ShowNewFolderButton = false;
            Klasor.Description = "Lütfen Bir Dosya Seçin";
            if (Klasor.ShowDialog() == DialogResult.OK)
            {
                Secili_Klsaor_Yolu = Klasor.SelectedPath;
                lbl_klasor_yolu.Text = Klasor.SelectedPath;

                // Xml dosyalarının olduğu klasörü aldık.
                DirectoryInfo XMLKonum = new DirectoryInfo(Klasor.SelectedPath);
                // klasördeki, sadece xml uzantılı dosyaları aldık
                FileInfo[] Dosyalar = XMLKonum.GetFiles("*.xml");
                listBox1.Items.Clear();
                // Array List'imizi listbox1'in datasource'una aktardık.
                listBox1.DataSource = Dosyalar;
            }
            else
            {
                MessageBox.Show("Hiçbir Klasör Seçilmedi");
            }
        }

Açıklamaları ile birlikte kodlar yukarıdadır ve ekran çıktısı aşağıdadır.

folderbrowserdialog1 c# example

 


C# FolderBrowserDialog Kullanımı – Örnekli Anlatım, dersimizde bu kadardı dostlar. Umarım faydalı bir yazı olmuştur.

C# eğitim seti sayfasına gitmek için tıklayabilirsiniz.

Ayrıca kısa süre önce tüm YENİ derslerimi tek bir proje içinde yapıp github’a yükleyeceğim demiştim. Bu dersimde o projenin içerisinde bir klasör olarak yerini almıştır. Buraya tıklayarak projeye ulaşabilirsiniz.

İlgili İçerik  C# OpenFileDialog Nasıl Kullanılır?

Sağlıcakla ve takipte kalın 😉

Bol kodlu günler…

 

 

C# DataTable "Bu satır başka bir tabloya ait" Hatası Çözümü
C# Kurulu Antivirüsü Kontrol Etmek
Mustafa Bükülmez

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.