C# ile OpenFileDialog ve SaveFileDialog Kullanımı

Batuhan Düzgün tarafından yayınlanmıştır 20. October 2010 19:36

Merhaba arkadaşlar,okul yoğunluğunun artması nedeniyle birlikte yazılarım biraz sekteye uğruyor ama elimden geldiğince yine yazmaya devam edeceğim.Sizlere bu makalemde FileDialog ve SaveFileDialog nasıl kullanılır ondan bahsedeceğim.Yapacağım uygulama aslında çokta zor bir şey olmayacak.Çalışmamızda dosya açmak ve seçme nasıl yapılır ve nasıl kaydedilir bunun üzerinde duracağız.
 
İlk iş olarak Visual Studio'da da boş bir Windows Form Application projesi açıyoruz.Ardından,istediğiniz bir isim veriyorsunuz.Aşağıdaki form görüntüsünü oluşturdum.Sizler de buna benzer bir görünüm hazırlayınız.
 
 
 
Ardından soldaki ToolBox panelinden,"OpenFileDialog" ve "SaveFileDialog"  nesnelerini sürükle-bırak ile form üzerine bırakıyoruz.Şu aşamada OpenFileDialog ve SaveFileDialog ile ilgili kısaca bilgi verelim.OpenFileDialog bilgisayarımızın herhangi bir dizininde bulunan bir dosyayı seçmemize yarayan ve dosya içeriğini herhangi bir TextBox veya RichTextBox'ın text özelliğine atama işlemini de yapabiliyoruz.SaveFileDialog ise içeriğini açtığımız dosya üzerinde değişiklik yapılarak belli bir dizine  kaydedilmesini sağlar.İlk iş olarak Form_Load olayına aşağıdaki kodları yazalım.
 
Bu kodlar genel olarak filtreleme işlemi yapmaktadır.Yani bizim isteğimiz dosya uzantısına ait olan dosyaları seçebilmemizi sağlar.Bu özellik OpenFileDialog ve SaveFileDialog içinde geçerlidir.
 

private void Form1_Load(objectsender, System.EventArgs e)

  {

   openFileDialog1.Filter = "RTF Dosyaları|*.rtf|" +

    "Metindosyaları|*.txt|" +

    "BütünDosyalar|*.*";

   openFileDialog1.Title = "Açılacak dosya";

   saveFileDialog1.Filter =openFileDialog1.Filter;

   saveFileDialog1.DefaultExt = "rtf";

   saveFileDialog1.Title = "Kaydedilecek dosya";

  } 
 
Form load olayında yukarıda belirttiğimiz dosya formatları filtrelenecektir.Kullanıcılar sadece filtreye uğramış dosya uzantısına ait bir dosyayı açabilceklerdir.Açmak demişken şimdi de seçili dosyayı açmaya yarayacak olan kodlarımızı yazalım.Bu kodların açıklamaları da mevcut ama kısaca neler yaptığından bahsedeyim.Yazacağımız kodlar OpenFileDialog aracılığıyla seçilmiş olan dosya yolundaki dosyanın içeriğini TextBox'a aktaracağız.
 
 

private void button1_Click(objectsender, System.EventArgs e)

  {

   //Aç butonu

   if(openFileDialog1.ShowDialog() == DialogResult.OK)

   

     try //

     {

     

      //dosyayıLoadFile metoduyla richtextbox'ın text özelliğine yüklüyoruz.

     richTextBox1.LoadFile(openFileDialog1.FileName,

       RichTextBoxStreamType.PlainText);

     }

     catch //dosya yüklenemezse hata vericektir.

     {

      MessageBox.Show(openFileDialog1.FileName+ " Bu dosya açılamadı");

     }

  }          
 
Artık seçtiğimiz dosyayı açabilme imkanımız var.Hemen ardından dosyayı kaydetmekle ilgili kodlarımızı yazalım.Bu kodlar açılan dosya üzerinde değişiklik yapılınca olduğu gibi kaydedebilmek içindir.Seçili dizine belirttiğiniz dosya formatında kaydetme işlemi yapacaktır.
 
 private void button2_Click(objectsender, System.EventArgs e)

  {

   //Kaydet butonu

      if(openFileDialog1.FileName != "") //Bir dosya açılmışsa

      {  //aynı isimle kaydet

         richTextBox1.SaveFile(openFileDialog1.FileName,

           RichTextBoxStreamType.RichText);

      }

      else //dosya açılmamışsa

      { //SaveDialogpenceresi ile dosya adı sor

          if(saveFileDialog1.ShowDialog() == DialogResult.OK)

          //O adlakaydet

          {

             richTextBox1.SaveFile(saveFileDialog1.FileName,

               RichTextBoxStreamType.RichText);

              MessageBox.Show("Kaydedildi!");

          }

      }

  }

 

Her şey hazırlandı.Gerekli kodlarımızı tamamladık.Şimdi son olarak uygulamamızı çalıştırabiliriz. Sonuçlar aşağıdaki gibidir.

 

 
Şimdi de kaydet butonuna tıklayalım. 
 
 
 
Evet görüldüğü üzere işlem başarılı.Bir sonraki makalemde görüşmek dileğiyle ...
 
Batuhan Düzgün
 
Sakarya Üniversitesi
 
Bilgisayar Mühendisliği 

Currently rated 5.0 by 6 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

C#

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  November 2018  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

Yazıları geniş takvimde göster