Makale Özeti

Bu makalemizde .NET Compact Framework 2.0 ile birlikte gelen DocumentList kontrolünü mercek altına alacağız.

Makale

.NET Compact Framework 2.0 ile birlikte Managed Mobil Uygulama Geliştiriciler için birçok özellik ve yeni Windows Form kontrolleri gelmektedir. Bunların birçoğu bir önceki sürümde “keşke olsa” diyebileceğimiz yenilikler olarak sınıflandırılabilir. Bu makalemizde genel hatlarıyla bu yeni kontrollerden DocumentList isimli Windows Form kontrolü üzerinde ayrıntılı bir örnek geliştireceğiz.

DocumentList kontrolü yapısı gereği verilen dosya filtreleme değerine göre mobil cihazın dosya sistemi üzerinde standart dosyalama işlemlerini gerçekleştirmeye yarayan bir Mobil Windows Form kontrolüdür. Kontrolün yapısı çokta karmaşık olmamakla birlikte gerçekleştirilen eylemlerin yakalanabilmesi için sınırlı ve yeterli sayıda Event (Olay) ‘ ları bünyesinde barındırmaktadır. Bu makalede DocumentList kontrolünü kullanarak farklı filtreleme seçenekleri ile birlikte örnek bir uygulama geliştireceğiz.

Örneğimize başlamadan önce kontrolün yapısını incelemek bu noktada daha doğru olacaktır.

DocumentList kontrolü standart dosya yönetim kontrollerine birebir benzemektedir. Windows Mobile İşletim sistemi yüklü mobil cihazların içerisinde bulunan standart dosya yönetim penceresi ile birebir aynı özelliklere sahip olan bu kontrolü kullanarak kullanıcılar dosya yönetimi gerçekleştirebildikleri gibi yeni klasörler tanımlayarak dosyaların yönetimini gerçekleştirebilirler. Genel hatlarıyla kontrolün özelliklerine bakacak olursak ;

Listenin çokta kalabalık olmadığını ; neredeyse birçoğunun standart Mobil Windows Form kontrollerinde olduğunu belirtebiliriz. Bu noktada incelenmesi gereken üç adet özellik olduğuda belirtilebilir. Filter, FilterIndex ve SelectedDirectory. Bu özelliklere atanan değerler kontrolün asıl amacının işleyişini önemli ölçüde etkilemektedirler. Şimdi kısaca bu özellikler üzerinde duralım.

Standart dosya dialog penceresi kontrollerinden tanıdığımız üzere Filter özelliği kullanılan Dialog’ un hangi dosya tiplerinin ekran üzerinde listeleneceğini ifade etmektedir. DocumentList kontrolü üzerinde tanımlı olan bu özellikte aynı yapıyı ifade etmektedir. Yanlız bu noktada önemli bir noktayı belirtmemiz gerekmektedir. Ekran üzerindeki boyutu sınırlı olan Mobil Cihazlar için tasarlanmış bu kontrolde Filter özelliğine atanan değerlerin belli bir standartı olmaktadır. Aşağıda bu konu ile ilgili küçük bir örnek yer almaktadır :

Standart Yapı : Açıklama|*.uzantı

Bu noktada açıklama kısmını boş bırakmak performans açısından daha doğru olacaktır. Boş bırakmak istediğiniz durumda ise minimum bir boşluk “ “ karakteri vermek durumundasınız. Aksi taktirde Exception (Hata) ile karşılaşabilirsiniz. Konu ile ilgili bir diğer özellik ile devam edelim ; FilterIndex. Bu noktada DocumentList kontrolü üzerinde ard arda yazılan Filter değerlerinden hangisini aktif olarak kullanmak istediğimizi ifade etmektedir. Örnekleyecek olur isek ;

All Files|*.*|Mp3 Files*.mp3

Bu noktada ;

All Files – FilterIndex = 0

Mp3 Files – FilterIndex = 1

olmaktadır. Aktif olarak hangi filtreleme seçeneğini kullanmak istiyor isek onun numerik index karşılığını FilterIndex değeri olarak özelliğe atamalıyız.

Bir diğer özellik ise SelectedDirectory. Uygulama başlatıldığında varsayılan olarak seçili gelmesini istediğimiz klasörün adını bu özellik değeri olarak belirlemeliyiz. Şimdi ise kontrolün olaylarına göz atalım.

Dikkatimizi çeken 3 adet olay listede bulunmaktadır. DeletingDocument, DocumentActivated ve SelectedDirectoryChanged. Olayların hangi noktalarda tetiklendiği isimlerinden çok net bir şekilde ifade edilmektedir.

Şimdi bu yapılardan yararlanarak basit, anlaşılır ve konu ile ilgili bir örnek üzerinde makalemize devam edelim. Bir C# Smart Device Windows Application projesi açarak işe başlayalım.

Bir sonraki adımda aşağıdaki görünüme benzer bir form tasarlayalım. Bu noktada dikkat edilmesi gereken nokta metin kutularının üstündeki kontrlün bir DocumentList kontrolü olduğudur.

Bu noktada Filter özelliğinin değerine All Files|*.* değerini belirleyip FilterIndex özelliğinin değerine 0 değerini eşitliyoruz. Ve ilgili olaylar gerçekleştiğinde şekildeki kodların çalışmasını tasarlıyoruz.

Ve son olarak uygulamamızı Fiziksel Cihazımız yada Emülatörümüz üzerinde çalıştırıyoruz. Ve Sonuç !

 

Bu makalemizde DocumentList kontrolü üzerinde çalışmış olduk. Bir başka makalede daha görüşmek üzere.

 

 


Ekin ÖZÇİÇEKÇİLER
Microsoft Certified Trainer
ekin.ozcicekciler@bilgeadam.com
MCP, MCAD.NET, MCSD.NET, MCSD.NET, MCTS, MCPD Ent.