İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Drag Drop İle Dosya Okuma – Sürükle Bırak

C# Drag Drop İle Dosya Okuma – Sürükle Bırak
+ - 0

C# Drag Drop İle Dosya Okuma – Sürükle Bırak

Merhaba arkadaşlar. Bu dersimizde C# Drag Drop ile dosya okuma işlemini öreceğiz. Bu dersin içeriği Github projemde yer alacaktır. Bu dersimizde c# drag drop örnekleri yer almaktadır.

C# Drag Drop İşlemi

Öncelikle formumuza bir textbox ekleyelim.

  • Multiline özelliğini True yapalım
  • Dock özelliğini Fill yapalım
  • AllowDrop özelliğini True yapalım. – Bu olmadan çalışmaz.

Sonra formumuzun StartPosition özelliğini de CenterScreen yapalım.

 

Bu özelleştirmeleri yaptıktan sonra Textbox’a tıklayalım ve c# drag drop file için event bölümünden Drag Drop ve Drag Enter eventlerine çift tıklayarak bu eventleri oluşturalım.

C# DragEnter

Textbox’umuzun DragEnter eventine geleleim ve aşağıdaki kodları yazalım.

        private void textBox2_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
            {
                e.Effect = DragDropEffects.All;
            }
        }

Kodları açıklamam gerekirse; Buradaki If bloğumuzda kontrol ettiğimiz şey, farenin Textbox üzerine geldiğinde yapmak istediği şeyin ne olduğunu bulmak. Öylece geçiyor mu yoksa bir dosya mı bırakıyor. Eğer bir dosya bırakıyor ise sonuç True olacak ve if bloğumuzdaki kodlar çalışacak.

İf bloğumuzdaki kodlar ile bu nesne için tüm DragDrop işlemlerini aktif et diyoruz.

NOT: Bu kodlar olmadan DragDrop çalışmıyor.

 

C# DragDrop

Textbox’umuzun DragDrop eventine aşağıdaki kodları yazalım.

        private void textBox1_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, true);
                BelgeyiOku(s[0]);
            }
        }

Kodları açıklamam gerekirse; Buradaki If bloğumuzda kontrol ettiğimiz şey, farenin Textbox üzerine geldiğinde yapmak istediği şeyin ne olduğunu bulmak. Öylece geçiyor mu yoksa bir dosya mı bırakıyor. Eğer bir dosya bırakıyor ise sonuç True olacak ve if bloğumuzdaki kodlar çalışacak.

Burada BelgeyiOku  adında bir metodumuz var. Şimdi metodumuzu verelim.

        private string BelgeyiOku(string dosya_yolu)
        {
            StreamReader dosyaOku = new StreamReader(dosya_yolu, Encoding.GetEncoding("windows-1254"));
            string yazi = dosyaOku.ReadLine();
            while (yazi != null)
            {
                textBox1.Text += (yazi) + Environment.NewLine;
                yazi = dosyaOku.ReadLine();
            }
            dosyaOku.Close();
            return yazi;
        }

Bu metod asıl işi yapan kısımdır. Yani metin belgesini okuyan ve yazan kodlarımız. C# StreamReader ve StreamWriter Kullanımı ve C# StreamReader Türkçe Karakter Sorunu Çözümü derslerime bakarak yukarıdak kodların ne işe yaradığını görebilirsiniz.

While döngüsü ile tüm metin belgesini satır satır okuyarak textbox nesnemize yazıyoruz. Buradaki Environment.Newline komutu ise bir alt satıra geçmemizi sağlıyor. Bu şekilde metin belgesinin her satırı textbox nesmizdeki bir satıra yazılıyor.

 


Bu dersimizde bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)