wmismail Posted August 10, 2008 Share Posted August 10, 2008 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: 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 VB.Net 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. 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 VB.Net 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 VB.Net 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 VB.Net Artik projemizi çalistirabiliriz; Ilk once Resim listemize birkaç resim taşıyalım ve ardindan resimlerden birini seçelim: 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: 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.