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…

Bunlar da hoşunuza gidebilir...

26 Cevaplar

  1. Kemal dedi ki:

    textbox1.Focus(); olayını biraz açar mısınız?

    • Gencay dedi ki:

      textbox1.Focus(); derseniz eğer, imlec textbox1 de aktif olur.Şöyle anlatayım;
      Formumuzda textboxa,textboxb adında iki TextBox nesnesi ve button1 adındada bir Button nesnesi bulunsun.Ben textboxb ye fareyle tıklayıp imleci textboxb de aktifleştireyim.button1 in Click olayına gelip textboxa.Focus(); kodunu yazarsam eğer,button1 e tıklandığı anda imlec textboxb den textboxa ya geçecektir.

  2. emin dedi ki:

    selam ben textboxa yazilan yazinin mesela 888-88-88 olmasin istorum yani aralarda hatlari koymak istiorum

  3. melek dedi ki:

    textBox da 12345 yazdık mesela clear la hepsini silmek yerine sırayla teker teker önce 5 i sonra 4 ü silmek istiyorum o işlemi yapmam için nasıl kod kullanabilirim?

    • Gençay dedi ki:

      İstediğin gibi karakterleri teker teker sondan başa doğru silmek istiyorsan eğer aşağıdaki komutla işlevini görebilirsin.Aşağıdaki algoritmada butona her tıkladığında en sondaki karakter silinecektir.

              private void button1_Click(object sender, EventArgs e)
              {
                  textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1);
              }
      

      Ya da sondan başa doğru döngüylede aşağıdaki gibi silme işlemi gerçekleştirebilirsin.

              private void button1_Click(object sender, EventArgs e)
              {
                  for (int i = textBox1.Text.Length - 1; i > 0; i--)
                  {
                      textBox1.Text = textBox1.Text.Remove(i);
                  }
              }
      
  4. Fales dedi ki:

    Progrmımda .doc uzantılı verileri textbox aktariyorum bu zaman dosya büyük oldugundan epey yer alıyor daha sonra textbox söz aramak istiyorum ki ancak girilen sözü textboxda neresinde olursam oluyum aynı aranan sözcügün üzerine getirsin böyle metod mevcutmy yoksa algoritma yazmakla olabilir

  5. MEDİNE dedi ki:

    textBox ta yazan değeri buttona bastıkça azaltmak istiyorum.ACİL LÜTFEN…

  6. a dedi ki:

    Merhaba ben buttona tıklandığında textboxteki değerin autocompletemode a eklenmesini istiyorum bunun için ne yapabilirim acaba ? iyi günler

  7. Murat dedi ki:

    Merhabalar texbox a label de görünen kelimeyi girdikden sonra texbox ın silinip labe le sıradaki kelimenin gelmesini nasıl sağlarız.

  8. murat dedi ki:

    merhaba arkadaslar market otomosyonu yapıyorum karsılaştım hata sudur yardımlarınızı bekliyorum

    3 adet text var
    txttoplam
    txtverilenpara
    txtparaustu

    kullandıgım kod budur

    private void TxtVerilenPara_TextChanged(object sender, EventArgs e)
    {
    int sayi1, sayi2, sonuc;
    sayi1 = int.Parse(TxtToplam.Text);
    sayi2 = int.Parse(TxtVerilenPara.Text);
    sonuc = sayi2 – sayi1;
    TxtParaustu.Text = sonuc.ToString();
    }

    verilen paraya kodnumu yazıyorum para miktarını yazıyorum toplam borcu yazıyorum verilen paradan toplam tutar cıkarılıp para ustune atayacak ama verilen para texti bos kaldıgında hata veriyor ne yapmam lazım

  9. atalay dedi ki:

    sa texbox un ıcıne gırılen formuler ıslem yaparak sonuc texbox sonucu yazdıracak bunu nasıl yapabılırım yardımıcı olurmusunuz

  10. mehmet vural dedi ki:

    merhaba arkadaşlar ben şifreleme ile ilgili bir program yapıyorum. takıldığım yani yapamadığım bir yer var yardımcı olursanız sevinirim şimdi den teşekkür ederim.
    textBox7.Text binary kodları var bunlar otomatik geliyor, (örnek 1001000 toplam 7 tane rakam var)
    buna göre textBox8.Text dışardan 7 boşluk olacak şekilde bir metin giriliyor (örnek “bu gün günlerden cuma ise yarın günlerden cumartesidir”)

    textBox7.Text deki ilk sayı 1 ise textBox8.Text ilk boşlukta(bu gün) arasına – gelsin bu işlemi textBox9.Text yapsın
    textBox7.Text deki 2. sayı 0 ise textBox8.Text 2.boşlukta(gün günlerden) arasına + gelsin bu işlemi textBox9.Text yapsın
    ….
    …..
    …..
    textBox7.Text deki 7. sayı 0 ise textBox8.Text 2.boşlukta(gün günlerden) arasına + gelsin bu işlemi textBox9.Text yapsın

    iletişim: mehmetvural0509@hotmail.com

  11. Abdullah dedi ki:

    Multitextbox ta

    AAAAA
    BBBBB
    CCCCC
    DDDDD

    şeklinde veri giriyorum. Benim istediğim sırayla tek tek bunları veritabanına kaydetsin.

  12. haydar dedi ki:

    texbox,label vb. araçların name kısımları neden değiştiririz yazarmısınz ?

    • Gençay dedi ki:

      TextBox, Label vs. gibi nesnelere kod kısmında name özelliğindeki verdiğimiz isim üzerinden erişmekteyiz. Ee haliyle bu nesnelere kod kısmından erişirken hangi name’in hangi nesneye ait olduğunu bilebilmek için ve istediğimiz nesneye direkt erişebilmek için nesnelerin name özelliklerini otomatik atanan isimden ziyade kendimiz istediğimiz isimle değiştiririz.

  13. gurcu87 dedi ki:

    selam butona tiklayinca textbox icindeki yaziya ekleme nasil yapabiliriz??
    örnegin;
    text1 de => chrome yaziyor.
    buton1 e tiklandiginda, text1 de “chrome.exe” nasil yazdirabilirim??

    • Gençay dedi ki:

      Merhaba,
      Butonun Click olayını aşağıdaki gibi doldurursan istediğini gerçekleştirmiş olursun. (Click olayı için butonun üzerine çift tıklaman yeterlidir.)

              private void button1_Click(object sender, EventArgs e)
              {
                  textBox1.Text = "chrome.exe";
              }
      

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA (Şahıs Denetim Kodu) Resmi

*

Copy Protected by Chetan's WP-Copyprotect.