Yazılım Mimarileri ve Tasarım Desenleri Üzerine

C# TextBox Kullanımı ve Özellikleri

Bu yazımda C#’ta textbox kontrolünü inceleyeceğiz.Textbox,kullanıcıdan veri almamızı ya da sisteme dışardan değer girmemizi sağlayan kontroldür.
Bazı Özellikleri
textBox1.Text = “Gençay”; = Bu özellik sayesinde textboxa Gençay yazdırılır.
textBox1.BackColor = Color.Red; =Arkaplan rengini kırmızı yapar.
textBox1.ForeColor = Color.Yellow; = Yazı rengini sarı yapar.
textBox1.TextAlign = HorizontalAlignment.Right; =Bu özelliği sayesinde yazıyı sağa yada sola yaslayabiliriz.
textBox1.Visible = false; = Visible özelliği kontrollerde standarttır.True ise kontrol gözükecek,false ise gözükmeyecektir.
textBox1.Enabled = false; =Visible özelliği gibi Enabled özelliğide standarttır.True ise aktif,false ise pasif olacaktır.
Bazı Olayları
Click olayı = Textbox’a tıklandığında bu olay gerçekleşecektir.
DoubleClick olayı = Textbox’a çift tıklandığında bu olay gerçekleşecektir.
TextChanged olayı = Textbox’un Text özelliği her değiştiğinde bu olay gerçekleşir.Başka bir deyişle textboxa yazı yazarken her tuşa bastığımızda bu oaly gerçekleşir.


KeyDown olayı = Bu olayın ayrıntılı anlatmak istiyorum.
Bilgisayarda genel olarak “CTRL+C” tuş kombinasyonu kopyalamaya,”CTRL+V” ise yapıştırmaya ya da kullandığımız programa göre “A+B” kombinasyonuda filanca işleve yarıyor.Yazdığımız programda da biz klavyeden bastığımız tuşlarla komut çalıştırmak istiyorsak bu olayı kullanıyoruz.Bir nevi TextBox ta her tuşa basışımızda bu olay işlenir ama biz işlev vermediğimiz için bize sonuç vermez.
Şimdi bu olayı kullanmayı görelim.KeyDown scopları arasında mesaj kutusuyla bişey yazdıralım.Bakalım bir tuşa bastığımızda bu kodlar işlenecek mi?Asıl mevzu olan istediğimiz tuşları ayarlamayı makalenin devamında öğreneceksiniz;

private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show("Test");
        }

Yukarıda ki gibi kullanım yaparsak,textboxta her tuşa bastığımızda mesaj kutusunda “Text” yazısını göreceğiz.Bu şekilde TextChanged özelliğinden bir farkı yok gibi gözüküyor.Ama şimdi asıl mevzuya girelim.Şimdi şöyle olsun,ben textboxa ne girersem gireyim,ama a tuşuna basarsam yazdıklarımızı sildirelim.

  private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode==Keys.A)
            {
                textBox1.Text = "";
            }
        }

Öncelikle yukarıda ki ifadede kullandığımız komutlar ne işe yarar onları verelim.
e=Hangi tuşa bastığımızın bilgisi,KeyEventArgs tipinden tanımlı olan e parametresinden gelir.Buradan öğrenilebilir.
KeyCode=Klavyedeki bütün tuşlara ulaşmamızı sağlayan komuttur.
Keys=Klavyedeki tuşları bu komut sayesinde seçebiliyoruz.
Şimdi ise işin mantık kısmına bakalım;
Eğer klavyeden “A”(textbox’a yazılanın büyük küçük olması fark etmez) tuşuna basmışsak,textboxun içini boşalt.Basmamışsak bişey yapma.(else kullanmaya gerek yok)

Şimdi örnekleri birazdaha çoğaltıp,ikili kombinasyon yapalım.Yani textboxta “CTRL+4” kombinasyonuna basınca bize karşılık olarak mesaj kusunda bişey desin.

if (e.Control && e.KeyCode==Keys.B)
                {
                    MessageBox.Show("Test");
                }

Yukarıdaki ifadede “KeyCode” komutunu kullanmadan direkt olarak “e.Control”(Control=CTRL) yazmamızın sebebi,derleyicide yazarken e parametresiyle direkt olarak kullanabileceğimiz harfleri bize sunduğunu göreceksiniz.Eğer orda olmayan harfleri kullanmak istiyorsak “KeyCode” komutu işimizi kolaylaştıracaktır.Mantığına gelirsek eğer, eğer “CTRL” tuşuna ve “B” tuşuna basılmış ise yani ikiside aynı zamanlarda basılı ise,metin kutusunda “Test” yazdır.Ha eğer bu şart geçersizse bişey yapma.(yani if dışına kod yazmadığımıza göre yapacak bişey yok.) 🙂


Bazı Metodları
textBox1.Clear(); = Textbox’un içindeki herşeyi siler.
textBox1.Focus(); = İmleci textbox’a çakar.
textBox1.SelectAll(); = TextBox’taki bütün yazıları seçer.Tabi bu metodun işlevsel olması için Focus() metoduyla kullanılması gerekiyor.
Replace()=Bu metod sayesinde istediğimiz harf ve kelimeleri değiştirmemize yarar.İki parametreden oluşmaktadır.

textBox1.Text.Replace("String değişmesi istenen harf ya da kelime", "String değiştirilenin yerine yazılması istenen harf ya da kelime.");

Insert()=Bu metod sayesinde textbox’ın istediğimiz indexine göre yazı ekleyebiliriz.İki parametreden oluşmaktadır.

string a = textBox1.Text.Insert(İndex numarası,"String değerimiz") ;

Ek olarak ;
textBox1.Text = string.Empty; komutu textBox1.Text = “”; komutuyla aynı işlevi görmektedir.Yani ikiside textboxun içini boşaltmaktadır.
Artık yazının bu kısmına geldiyseniz,textbox kontrolünde genel anlamda bilgi sahibisiniz.Burada yazımı sonlandırıyorum.Saygılarımla…
İyi çalışmalar…

Exit mobile version