15 Nisan 2012 Pazar

C# 'da ListBox 'a Baş Harfler Büyük Şekilde Yazdırma

Merhaba arkadaşlar.
Yine string metodlarını pekiştirmek açısından ufacı ve tefecik bir örnek ile karşınızdayım. TextBox kontrolüme girdiğim bir cümlenin baş harfleri büyük olacak şekilde ListBox kontrolüme yazdırmak istiyorum. İlk önce TextBox 'ımı boş mu dolu mu diye kontrol etmeliyim. Daha sonra TextBox 'ıma girilen kelimelerimi string bir diziye aktarmalıyım arkadaşlar. Bunu yaparken de yine çok kullanışlı bir strin metotdan yardım alacağız. İşte bu metot "Split" metodu. Parametre olarak birden fazla parametre ala bilen bir metot. String metodlarını daha ayrıntılı inceleyeceğiz arkadaşlar.
ListBox kontrolünde cümlemi tek satır halinde yazmak istiyorsam ListBox 'ıma cümlemin son halini tek seferde eklemeliyim. Bu teknik için geçici bir değişkene ihtiyacım var. Hoş tüm değişkenler geçici ! Bu taşıyıcı değişkenimin adı bu örnekte "kelime" arkadaşlar. Daha sonra dizimin elemanlarını bir for döngüsüne alarak tüm elemanlarını tek tek geziyorum. Herbir elemanın baş harfini "SubString" metoduyla alıp, bu harfi "ToUpper" metoduyla büyük harf yapıyorum. Kelimenin geri kalanını ine "SubString" metoduyla alıp, bu harfleri "ToLower" metoduyla küçük harf yapıyorum. Sonra bu stringleri "+=" atama operatörleri ile her döngüde "kelime" değişkenime atıyorum. En son artık ListBox 'a atma işlemi kalıyor.

        private void btnToUpper_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(textBox1.Text))
            {
                string[] kelimeler = textBox1.Text.Split(' ');
                string kelime = "";
                for (int i = 0; i < kelimeler.Length; i++)
                {
                    kelime += kelimeler[i].Substring(0, 1).ToUpper() + kelimeler[i].Substring(1).ToLower() + " ";
                }
                listBox1.Items.Add(kelime.Trim());
            }
        }




ListBox kontrolünün kullanımını kavramak açısından güzel bir örnek olabilir arkadaşlar. 
Memnun kalmanız dileğiyle esenlikler dilerim...

1 yorum: