C# Textbox Sadece Sayı Harf Girişi Yaptırmak , yazım ile c sharp eğitimlerime devam ediyorum. Bu dersimizde textbox’lara sadece sayı yada sadece harf girilmesini zorunlu hale nasıl getiririz ona bakacağız.
C# Textbox Sadece Sayı Harf Girişi Yaptırmak
DevExpress kullanıcıları bu içeriğe ilgi duymayacaktır çünkü DevExpress bunu zaten düşünüp sadece sayı girilebilen calcEdit, spinEdit gibi nesneler üretmiş. Windows nesneleri kullananlar sadece textbox kullanabilecekleri için bu işleme ihtiyaç duyabilirler. Bu sebeple bu dersi atlamak istemedim. Ancak ben hiç kullanmadım. Gerçi bu dersi yazabilmek için github projemde denedim. ;)
Github projemde 5 numaralı ders klasörünün içerisinde 4 farklı işlem yer almaktadır.
- C# textbox sadece sayı girişi
- C# textbox sadece harf girişi
- C# textbox sadece özel karakter engelleme
- C# textbox sadece boşluk engelleme
Şimdi Bu işlemleri sırası ile görelim.
1 – C# textbox sadece sayı girişi
Bu işlemi yapacağımız textbox’a tıklıyoruz ve Properties ekranından event’ler kısmına geliyoruz. Buradaki KeyPress Event’ine çift tıklayarak eventi oluşturuyoruz. Formun kod kısmı otomatik olarak açılacaktır.
Event içerisine aşağıdaki kodları yazıyoruz.
private void txt_sadece_sayi_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar); }
Textbox’a sadece sayı girme işlemi bu kadar arkadaşlar. Özel karakter yada boşluk dahi giremeyiz.
2 – C# textbox sadece harf girişi
Textbox’umuzun keypress eventi içerisine girdikten sonra aşağıdaki kodlarımızı yazıyoruz. Bu işlemle textbox’a sadece harf girebiliriz. Özel karakterleri yada sayı giremeyiz ama boşluk girebiliriz.
private void txt_sadece_harf_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsLetter(e.KeyChar) && !char.IsControl(e.KeyChar) && !char.IsSeparator(e.KeyChar); }
3 – C# textbox sadece özel karakter engelleme
Textbox’umuzun keypress eventi içerisine girdikten sonra aşağıdaki kodlarımızı yazıyoruz. Bu işlem ile textbox’a özel karakterleri giremeyiz. Harf, sayı yada boşluk girebiliriz.
Ancak £ – ½ – € – ₺ – ¨ – æ – ß – ´ bu özel karakterleri engellememektedir. Bu karakterlere Alt Gr tuşu ile ulaşabiliyoruz. Bunların haricinde diğer tüm özel karakterleri engelleyebiliyoruz. Elbette bunları da engellemenin yolu var. Aşağıdaki kodlarda görebilirsiniz.
private void txt_ozel_giremez_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '£' || e.KeyChar == '½' || e.KeyChar == '€' || e.KeyChar == '₺' || e.KeyChar == '¨' || e.KeyChar == 'æ' || e.KeyChar == 'ß' || e.KeyChar == '´') { e.Handled = true; } if ((int)e.KeyChar >= 33 && (int)e.KeyChar <= 47) { e.Handled = true; } if ((int)e.KeyChar >= 58 && (int)e.KeyChar <= 64) { e.Handled = true; } if ((int)e.KeyChar >= 91 && (int)e.KeyChar <= 96) { e.Handled = true; } if ((int)e.KeyChar >= 123 && (int)e.KeyChar <= 127) { e.Handled = true; } }
Sadece özel karakterler giremesin işlemimiz de bu kadar arkadaşlar.
4 – C# textbox sadece boşluk engelleme
Aşağıdaki kodlarımız ise sadece boşluk girilmesini engelleme işini yapmaktadır.
private void txt_bosluk_giremez_KeyPress(object sender, KeyPressEventArgs e) { if ((int)e.KeyChar == 32) { e.Handled = true; } }
Aşağıda vermiş olduğum ASCII kod tablosuna bakarak sizlerde istediğiniz şekilde giriş engeli koyabilirsiniz. Tablodaki ASCII kolonunda yazan sayılara işlem yapmalısınız.
C# Textbox Sadece Sayı Harf Girişi Yaptırmak, dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Ayrıca kısa süre önce tüm YENİ derslerimi tek bir proje içinde yapıp github’a yükleyeceğim demiştim. Bu dersimde o projenin içerisinde bir klasör olarak yerini almıştır. Buraya tıklayarak projeye ulaşabilirsiniz.
Sağlıcakla ve takipte kalın ;)
Bol kodlu günler…
Çok Sağol İyi ki varsın :) ☺☻♥♦♣♠•◘○
Önemli değil. Teşekkürler. Sende iyi ki varsın. :D
Senin siteden çok şey öğrendim abi saolasın :)
O halde senin için amacım gerçekleşmiş demektir. Çok sevindim. Bir sorun olduğunda mail atmaktan çekinme. :)
Güzel yorumun için de ayrıca teşekkür ederim. :) Sayende bu günüm daha güzel geçecek. :)