C# Dersleri 33 - OpenFileDialog Kullanımı

     Projelerimizde kullanıcıların dosya işlemleri yapmasını isteyebiliriz. OpenFileDialog kontrolü, açılan pencere yardımıyla kullanıcının dosya seçebilmesine olanak sağlar.

     OpenFileDialog kontrolünü forma iki şekilde ekleyebilirsiniz : Toolbox'tan sürükleyerek ya da kod ile. Ben C# kodlayarak OpenFileDialog eklemeyi tercih edenlerdenim.     

private void btnClick_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.ShowDialog();
}

     Kullanıcı Button'a tıklayınca bir OpenFileDialog açılmasını istiyoruz. Önce bu nesnenin "ofd" adında bir değişkenini oluşturuyoruz. Daha sonra "ofd.ShowDialog()" methodu, aşağıdaki gibi bir pencerenin açılmasını sağlar.

C# OpenFileDialog

     Kullanıcı dosya seçip "Aç" butonuna tıkladığında bunu kod tarafında yakalıyor olmamız gerekiyor. Bunun için kodumuzda değişiklik yapalım :     

private void btnClick_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        MessageBox.Show(ofd.FileName);
    }
}

     Kullanıcı dosya seçtiğinde tetiklenecek kısım "if (ofd.ShowDialog() == DialogResult.OK)". Bu if kontrolünü geçebiliyorsa dosya seçilmiş demektir. OpenFileDialog classının FileName propertysi, dosyanın bulunduğu dizini verir. Yalnızca dosya adını istersek, SafeFileName propertysini kullanabiliriz.     

private void btnClick_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    string dizin = string.Empty;
    string dosyaAdi = string.Empty;

    if (ofd.ShowDialog() == DialogResult.OK)
    {
        dizin = ofd.FileName;
        dosyaAdi = ofd.SafeFileName;
    }
}

     OpenFileDialog'ta Uzantıya Göre Filtreleme

     Eğer kullanıcının profil fotoğrafı seçeceği bir OpenFileDialog hazırlamışsak, kullanıcının örneğin Excel dosyasını seçmesini engellemek isteriz. Böyle durumlar için OpenFileDialog classının Filter propertysi var.     

private void btnClick_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    string dizin = string.Empty;
    string dosyaAdi = string.Empty;
    ofd.Filter = "Png Görsel | *.png";

    if (ofd.ShowDialog() == DialogResult.OK)
    {
        dizin = ofd.FileName;
        dosyaAdi = ofd.SafeFileName;
    }
}

     Filter propertysi string değer alır. Tırnaklar içinde "Kullanıcıya gösterilecek açıklama | dosya uzantısı" şeklinde atama yapmanız gerekir. Bu şekilde kullanıcının .png formatı dışında dosya seçmesini engellemiş olursunuz.

YORUMLAR
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f