14 Ekim 2009 Çarşamba

DataGridView -1 (DataPropertyName)

Son yaptığım projede, tablo içinde combobox kullanımı istedi müşteriler. Ben de her zaman listeleme işlemi için ListView kullandığımdan ve onda da o özellik olmadığından bir arayış içine girdim. Sonunda da DataGridView'i keşfettim (Ben keşfetmedim aslında Mehmet Arslan keşfettirdi :) ). Projemde bugün itibariyle bittiğinden ancak bugün yazabildim bu yazıyı.

13 Mayıs 2009 Çarşamba

TextBox'a Para Değeri Girme ve Bölgesel Dil Ayarları

Eğer NumericEditBox veya MaskedTextBox gibi para miktarı girilen textbox'lar kullanıyorsanız, bölgesel dil ayarlarıyla ilgili sorun yaşayabilirsiniz. Çünkü her dil ayarına göre farklı noktalama işaretleri kullanılıyor.

Bu durumda programın kullanıldığı her bilgisayarda bölgesel dil ayarlarının değiştirilmesi yerine, tek satırlık kod yazarak, o anlık bölgesel dil ayarının öyle algılanmasını sağlayabilirsiniz. İşte bunun için kullanacağınız kod:

Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR");

Güncelleme(23.12.2009):
Bölgesel seçeneklerin özelleştirilebildiğini öğrendim. Yani ayarı Türkçe olarak versek de ondalık sayılarda kullanılan ayraçlar (nokta ve virgül gibi) özelleştirilebiliyormuş. Bu da yukarıda yaptığımız işlemi geçersiz kılıyor. Bunun için en iyi çözüm bu ayraçları da en başta belirtmek (tabi işinize yarar şekilde). Böylece kullanıcı kendi ayarlarında ne yapmış olursa olsun sizi ilgilendirmemiş oluyor.

Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = ",";
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSeparator = ".";

24 Nisan 2009 Cuma

DateTimePicker'da Sonraki Ay

Kullandığım DateTimePicker'ın ValueChanged event'ında bir şey yazdırmak istediğimde, bir sonraki ay anlamındaki (>) tuşa bastığımda sonsuz döngüye girerek, sürekli MessageBox çıktığını fark ettim.

16 Nisan 2009 Perşembe

WCF Projesi Oluşturma

WCF (Windows Communication Foundation), COM+, .Net Remoting, XML Web Servisleri, MSMQ gibi servisleri tek çatı altında birleştiren bir servis diyebiliriz.
Bazı kaynaklarda, WCF’ in ABC’ si olarak Addresses (Adresler), Bindings (Bağlayıcılar) ve Contracts (Sözleşmeler) kelimelerinden bahsedilmektedir. Bu üçleme, WCF’ in çekirdeğinde yer alan en önemli kavramlardır. Öyleki, dağıtık modele göre servis olarak dış ortama sunulan her bir CLR tipi için bir endPoint tanımlanmak zorundadır. Aslında endPoint bir servisin dış ortama sunulan arayüzü (Interface) olarak düşünülebilir. Yani istemcilerin, proxy üzerinden gönderecekleri ve alacakları mesajların servis tarafında karşılandığı nokta olarak düşünülebilir. Bir endPoint içerisindeki üç önemli parça da adresler, bağlayıcılar ve sözleşmelerdir.

17 Mart 2009 Salı

UCSD için Anahtar Prensipler

Kullanıcı Merkezli Sistem Tasarımı için (User-Centered System Design) 12 tane anahtar prensip tanımlanmıştır. Kullanıcı merkezli sistem tasarlanırken bu maddeler dikkate alınmalıdır: