C# OpenFileDialog Nasıl Kullanılır?

C# OpenFileDialog Nasıl Kullanılır?

6 Şubat 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 127
Yaklaşık okuma süresi : 9 DK
C# GoTo Nasıl Kullanılır?
C# Formun Kapanmasını Nasıl Engelleriz?
C# OpenFileDialog Nasıl Kullanılır?
5 (100%) 2 Oy

C# OpenFileDialog Nasıl Kullanılır? dersimizle C Sharp eğitimlerimize devam edelim. C Sharp openfiledialog bir çok projemizde bize gereken bir kontroldür. Projeye ekleyeceğimiz bir dosyanın yerini bulmak için kullandığımız iletişim kutusudur. Bu kontrol sayesinde dosyanın tam yolunu, adını, uzantısını vs. de elde etmiş oluruz.

Görüntüsü şu şekildedir.

c# openfiledialog filter

Diğer C# derslerimi görmek isterseniz tıklayınız.

Bu dersimizde hep kod üzerinden gideceğiz. Bu sebeple kodlarımızı verelim.

C Sharp OpenFileDialog Tanımlaması Yapmak

OpenFileDialog file = new OpenFileDialog();

Bu kod ile OpenFileDialog tanımlamasını yapıyoruz. Diğer özelliklerini bu tanımlama üzerinden anlatacağım.

 

Boş bir ekran açmış oluyoruz. Tabi bu kodlar ile hiçbir işimize yaramaz.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.ShowDialog();  // openfiledialog ekranını açıyoruz.
}

 

C Sharp OpenFileDialog Filter Özelliği

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.Filter = "Excel Dosyası |*.xlsx";   
    // dosya filtresi için bu kodu kullanıyoruz. Şuan sadece xlsx dosyalarını görecektir.
    file.ShowDialog();  
}

Filter özelliği sayesinde iletişim kutusunda sadece excel dosyaları görünecektir.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    // burada gördüğünüz gibi iki adet filtre verdik.
    file.FilterIndex = 2;  
    // bu kod ile varsayılan olarak 2. filtre ile açılacaktır.
    file.ShowDialog();  
}

 

C Sharp OpenFileDialog InitalDirectory Özelliği

Bu özellik ile iletişim kutusu C sürücüsüne odaklanacaktır. Yani Dosya seç butonuna tıkladığımızda C sürücüsü ekrana gelecektir.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.InitialDirectory = "C:";  
    // bu kod ile her zaman C bölümünü açacaktır. Yani açıldığında C bölümünü gösterecek.
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.ShowDialog();  
}
private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);  
    //öncekinden farkı her açıldığında masaüstünü gösterecektir.
    // masaüstünü göstermek istiyorum ama kullanıcı adı farkından olmuyor diye düşünüyorsanız
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.ShowDialog();  
}

Bu sefer iletişim kutusu açıldığında masaüstünü gösterecektir.

 

C Sharp OpenFileDialog RestoreDirectory Özelliği

En son hangi klasörden dosya çekildiyse o klasöre odaklanacaktır. Örneğin. D sürücüsündeki Raporlar klasöründen bir excel import ettiniz. İletişim kutusu bir daha açıldığında yine aynı klasöre odaklanacaktır.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    //file.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);  
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.RestoreDirectory = true;     
    // bu kod ile her açıldığında açılan bir önceki klasörü açacaktır.
    file.ShowDialog();  
}

 

C Sharp OpenFileDialog CheckFileExist Özelliği

İletişim kutusundaki dosya adı kısmına bir şeyler yazdığınızda odaklandığınız klasör içinde o isimde bir dosya var mı yok mu onu kontrol eder.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.RestoreDirectory = true;  
    file.CheckFileExists = false;  
    // bu kod dosya adı kısmına bir isim yazdığınızda dosya var mı yok mu kontrolünü yapar.
    file.ShowDialog();  
}

 

C Sharp OpenFileDialog Title Özelliği

Açılan iletişim kutusunun başlında ne yazacağınız belirlersiniz.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.RestoreDirectory = true;  
    file.CheckFileExists = false;  
    file.Title = "Excel Dosyası Seçiniz..";  
    // pencerenin üstünde varsayılan olarak "Aç" yazar bu kod ile başlığı değiştirebiliriz.
    file.ShowDialog();  
}

 

C Sharp OpenFileDialog Seçilen Dosyanın Yolunu ve Adını Almak

*.FileName ile seçilen dosyanın tüm yolunu alırsınız. Örn. D://Raporlar/31.01.2018/xxx_Raporu.xlsx

*.SafeFileName ile seçilen dosyanın sadece adını alırsınız. Örn. xxx_Raporu.xlsx

private void buttonDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    //file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.RestoreDirectory = true;  
    file.CheckFileExists = false;  
    file.Title = "Excel Dosyası Seçiniz..";  
    file.ShowDialog();  
  
    string DosyaYolu = file.FileName;  
    // seçilen dosyanın tüm yolunu verir
    string DosyaAdi = file.SafeFileName;  
    // seçilen dosyanın adını verir.
}

 

Gerektiği durumlarda iletişim kutusu ile bir dosya seçildi mi? sorununun cevabını almanız gerekir. Çünkü dosya seçilmediyse hiçbir işlem yaptırmamanız gerekiyordur. Aksi halde program hata verecektir.

private void buttonDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.RestoreDirectory = true;  
    file.CheckFileExists = false;  
    file.Title = "Excel Dosyası Seçiniz..";  
  
    if (file.ShowDialog() == DialogResult.OK)  
    {  
        // dosya seçildi ise
        string DosyaYolu = file.FileName;  
        string DosyaAdi = file.SafeFileName;  
    }  
}

ShowDialog() metodu geriye bir OK yada CANCEL olarak iki farklı dialogResult değeri döndürür. Bizde bunu yakalayarak dosyanın seçilip seçilmediğini anlarız. İletişim kutusundan dosya seçildiyse yani “Tamam” butonuna tıklandıysa geriye OK dialogResult’u döner.

 

C Sharp OpenFileDialog MultiSelect Özelliği

Aynı anda birden fazla dosya import etmek istersek bu özelliği kullanırız.

private void buttonDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    //file.Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls";  
    file.FilterIndex = 2;  
    file.RestoreDirectory = true;  
    file.CheckFileExists = false;  
    file.Title = "Excel Dosyası Seçiniz..";  
    file.Multiselect = true;  
    // bu kod çoklu seçim yapabilmemizi sağlar.
  
    if (file.ShowDialog() == DialogResult.OK)  
    {  
        string DosyaYolu = file.FileName;  
        string DosyaAdi = file.SafeFileName;  
    }  
}

MultiSelect özelliğini kullandığımızda aynı anda birden fazla dosya import edebiliriz. Burada da bize dosya bilgilerini bir ArrayList olarak verir. Bizde bu ArrayList’i kullanarak işlemlerimizi yaparız.

*.fileNames olarak kullanırız. Çoklu olduğundan sonuna (s) çoğul eki gelir.

*.SafeFileNames olarak kullanırız. Çoklu olduğundan sonuna (s) çoğul eki gelir.

string[] dosya = fileNames;
for (int i = 0; i < fileNames.Length; i++)
{
     ListViewItem li = new ListViewItem(dosya);
     ListView1.Items.Add(li);
}
label1.Text = dosya.Length.ToString()+" dosya eklendi.";

 

C Sharp OpenFileDialog Reset Özelliği

İletişim kutusu ayarlarını sıfırlamak için bu özelliği kullanırız.

file.Reset();
// openfiledialog ayarlarını sıfırlar

c# openfiledialog filter excel

C#OpenFileDialog Nasıl Kullanılır? dersimiz bu kadar dostlar. Umarım açıklayıcı bir şekilde anlatabilmişimdir. Sorularınızı yorum olarak yada iletişim sayfasındaki mail adreslerimden bana ulaştırabilirsiniz. Gmail olursa daha hızlı dönüş yaparım.

Diğer C# derslerimi görmek isterseniz tıklayınız.

Sağlıcakla ve takipte kalın. 😉

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.

C# GoTo Nasıl Kullanılır?
C# Formun Kapanmasını Nasıl Engelleriz?