Visual Studio tasarım kipinde Windows ekranları tasarlarken, piksel hesapları yaptığınız oldu mu hiç? Ya da kontrolleri olduğu gibi koyup, arada bir "Align Lefts", "Align Bottoms" komutları mı lutfediyorsunuz? Böyle bir durumda geciktirmeden hekiminize başvurunuz.
Çünkü efendim, sinirleriniz gerilmiştir. Gerginlik ise yazılım geliştirme sürecinde hiç istenmeyen bir ruh faktörüdür. Gergin yazılan kodlar, işlemciden dumanlar bile çıkartır. Fanların durduk yere çalışmaya başlaması nedendir sanırsınız?
...
Ekibinizde arayüz tasarım işini kodcularınız yapıyorsa ve ufaktan bir de görünüm standardı koyduysanız, dünyaya "binary" gözlüklerle bakan kodcularınız form geliştirirken eziyet çektiklerini düşüneceklerdir. Çünkü forma yerleştirdikleri, ad verdikleri kontrolleri bir de piksel hespalarıyla konumlandırmak ve birbirine doğru hizalamak, öğlen yemekte ne yediklerini bile unutturabilir. Nazlı adamlardır bunlar, kabul etmeli.
Klasik yöntem, sırf kodcuların muhalefetinden değil, bunun yanında sağlayamadığı esneklikten dolayı da bizi kendinden uzaklaştırıyor. Formlarınız yeniden boyutlandığında tepki vermeyen, birbiri üstüne binen kontroller midemizi nasıl da bulandırır değil mi? Hele beynelmilel program yazıp dil değişimi koyduğunuzda, etiket alanların her dilde büyüyüp küçüleceği gerçeği bir kabus gibi beyninize üşüşür.
Hadi daha ilerisini düşünelim. Kullanıcılarınız son derece esnekliği seven, Polonezköy'de ata binen insanlardır. Siz de duyarlı yanınızı konuşturup, form üzerindeki kontrolleri kendilerinin belirlemesini mümkün kılmak istediniz. Ne yapacaksınız? Nasıl olacak da bu tasarım kipinde zar zor dizdiğiniz kontrol kümesini çalışma zamanında, ata binen sağlıklı insanların isteklerine göre şekillendireceksiniz. Zor, ama yaparsınız siz biliyorum.
Bu zahmetli işlerden kurtulma yolunu bulalım hadi.
Web sayfası tasarlar gibi Windows ekranı tasarlasak olur mu? .NET 2005 bu fikre yeşil ışık yakıp iki kontrol vermiş bizlere: FlowLayoutPanel ve TableLayoutPanel. İkisi de belli amaçlar için çok güzel kullanılabilir. Bir deneyin, tavsiye ederiz. Özellikle FlowLayoutPanel, web sayfasının klasik akış şeklini aynen sunuyor.
Ve daha ileri bir çözüm. Kusura bakmayın ama bir üçüncü taraf bileşen gerektiriyor: DevExpress. Bileşen çiftliği bulunan bu firmadan edineceğiniz XtraLayoutControl bileşeni çok esnek bir ekran tasarım imkanı bahşediyor. Kontrolleri dizmeniz, boyutlandırmanız gerçekten çok kolay.
Yazının amacı bu ticari ürünün tanıtımından çok, bu yönden muzdarip kitleye yeni bir açılım teklif etmekti. Ancak biraz daha kontrolün detaylarına girersem, sayfamız broşürleşecek. Burada keselim en iyisi.
Efendim, daha sonra bir inceleme (review) yazısı ile cephe selamı veririz DevExpress'e.