C# OpenFileDialog kullanımı

C# OpenFileDialog kullanımı

Bu dersimizde C# da OpenFileDialog kullanımı öğreneceğiz.

Selamlar arkdaşlar,

Bu dersimizde C# OpenFileDialog kullanımı öğreneceğiz.

Hemen kodlarımıza geçelim.

OpenFileDialog file = new OpenFileDialog();  

Bu kod ile OpenFileDialog tanımlamasını yapıyoruz.

private void btnDosyaSec_Click(object sender, EventArgs e)  
{  
    OpenFileDialog file = new OpenFileDialog();  
    file.ShowDialog();  // openfiledialog ekranını açıyoruz.
}  
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();  
}  
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();  
}  
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();  
}  
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();  
}  
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();  
}  
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();  
}  
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;  
    // sçeilen dosyanın adını verir.
}  

Bazı durumlarda dosyanın seçilip seçilmediğini kontrol etmemiz gerekmektedir. Normal şartlarda dosya adı seçilmediğinde geri null değer döner. Çoğu zaman sorun yaşamayız ama bazı durumlarda kontrol etmemiz gerekmektedir. Bu gibi durumlarda;

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;  
    }  
}  

Genel olarak bu kodlar işimize yarar ama bazen çoklu seçim yapmamız gerekir. Bu gibi durumlarda;

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;  
    }  
}  

seçilen dosya birden fazla ise dosya yollarını FileNames, dosya adılarını ise SafeFileNames' e string dizi olarak setlemektedir. Bu dizilerdeki bilgileri nasıl alacağımıza gelirsek de;

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.";

 

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

Bu dersimizde bu kadar arkadaşlar diğer derslerde görüşmek üzere.

Bol Kodlu Günler

Mustafa BÜKÜLMEZ
Web sitesi, ERP, MRP, CRM ve kişiye özel uygulamalar hazırlanır. -- Deneyip çalıştığını onaylamadan çok nadir ders eklerim. Denemediklerim ise eski makalelerimdendir. Hem bildiklerimi paylaşmak hemde her seferinde aramamak için yayınlıyorum. -- *Bilgi paylaştıkça çoğalır. *Bir mum diğer mumu yakmakla ışığından bir şey kaybetmez. Aksine Daha çok ışık yayar. -- 1992 İstanbul doğumluyum. Kahramanmaraş'ta yaşıyorum. Lise: Ağ sistemleri ve Yönetimi, Üniversite: Bilgisayar Programcılığı.. -- 07.2014 tarihinden beri bir firmada Bilgi İşlem Müdürü olarak çalışmaktayım. -- Kişisel Bloğum : https://csharpiledundenbugune.blogspot.com.tr/
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git