Jump to content

Dosyayi Sürükle Ve Birak (vb.net & C#.net)


wmismail

Recommended Posts

Bu makalemizde dosyanin nasıl tasinip işleme tabi tutuldugunu görmek amaciyla konuyu, her zaman ki gibi bir örnek çalisma ile inceleyecegiz.

Hemen yeni bir proje açarak giriş yapalim. Makalemde hem VB, hem de C# kodlarini sunacagmdan dolayi istediginiz dili kullanabilirsiniz.

Formumuza bir PictureBox, bir ListBox ve iki Label ekleyerek asagidaki tasarimi olusturalim:

1000000905_image001.jpg

Ardindan Form’umuzun ve ListBox’in AllowDrop property’lerini True yapalim ki: üzerilerine dosya tasiyabilmemize izin versinler.

Projemizin senaryosundan bahsedelim:

Resim Listesine sürükle birak işlemi ile resimler ekleyecegiz ve bunlari seçip görüntüleyecegiz. Ayrica direk olarak Form’un üzerine sürüklenip birakilan resimler hem Resim Listesi’ne eklenecek hemde görüntülenecek.

Kodlamaya baslamadan once sürükle birak işlemlerinin yapildigini bize haber veren iki event’ten; DragEnter ve DragDrop eventlerinden bahsetmek istiyorum.

DragEnter eventi tasinan nesne control üzerine geldiginde firlatilir. DragDrop eventi ise nesne controle birakildigi zaman firlatilir.

Simdi Listbox’imizin DragEnter anina kod yazalim:

C#.Net

1000000905_image002.jpg

VB.Net

1000000905_image003.jpg

Yukaridaki kod satirinda yapilan is nesne control üzerine geldiginde mouse iconunun alacagi efekti belirlemektir. Bu efekt nesnenin kaynaginda, yani alindigi yerde belirlenmektedir. Bizim nesnemiz, yani dosyamiz Windows üzerinde oldugundan dolayi bu efekte bir müdahale edemeyiz. yaptığımiz işlem sadece e.AllowedEffect komutu ile izin verilen efektin uygulanmasini saglamaktir.

Simdi ise nesnenin birakildigi ana; yani ListBox’in DragDrop anina gerekli kod satirlarini yazalim:

Bunun için DragDrop eventi ile birlikte gelen e parametresinden destek alacağız. e parametresi içerisindeki Data property’si içerisinde bulunan GetData methoduna tasinan dosyalar bilgisini veren DataFormats class’I içerisindeki FileDrop methodunu vererek alabilirz.

1000000905_image004.jpg

Uygulamamizin bir resim editörü oldugunu göz önünde bulundurarak; resim disindaki dosyalarin islenmemesi için basta tasinan dosyanin resim formatinda (.bmp, .jpg, .jpeg, .gif) oldugunu control etmeliyiz:

C#.Net

1000000905_image005.jpg

VB.Net

1000000905_image006.jpg

FileDrop methodu tasinan dosyalarin patikalarini bize bir StringArray olarak vermektedir. Bizde bu sonucun sifirincisini alarak ilk dosyayi ekledik. Birden fazla dosyayi birden eklemek isterseniz; for döngüsü ile array’in herbir elemanini ekleyebilirsiniz! Arzu ederseniz; birtakim String methodlarini kullanarak dosyanin patikasi yerine sadece adinida gösterebilirsiniz.

Son olarak seçili olan resmi göstermeye geldi:

C#.Net

1000000905_image007.jpg

VB.Net

1000000905_image008.jpg

Simdi ise formumuzun üzerine birakilan resim dosyasini hem listbox’a eklemek, hemde görüntülemek için gereken kodlari yazalim. Aslinda yazacagimiz kodlar ayni. Sadece birakilinca görüntülenmesi amaciyla; ListBox’a Item ekleme ileminden dönen eklenen item’in index’ini ListBox’in SelectedIndex’ine vermek olacaktir:

C#.Net

1000000905_image009.jpg

VB.Net

1000000905_image010.jpg

Artik projemizi çalistirabiliriz;

Ilk once Resim listemize birkaç resim taşıyalım ve ardindan resimlerden birini seçelim:

1000000905_image011.jpg

Görüldügü üzere tasidigimiz resim dosyalari listbox’ta listelendi ve seçtigimiz resim PictureBox’ta görüntülendi.

Simdi ise dosyayi direk formun üzerine tasiyalim:

1000000905_image012.jpg

Görüldügü üzere bu seferde resim dosyasi hem ListBox’a eklendi, hem de görüntülendi.

Bir baska makalede görüşmek üzere…

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...