C# Textbox Sadece Sayı Harf Girişi Yaptırmak

C# Textbox Sadece Sayı Harf Girişi Yaptırmak

28 Kasım 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 429
Yaklaşık okuma süresi : 6 DK
C# String Sayısal Değer Kontrolü
C# Thread Sleep ile İşlem Süresini Uzatmak
C# Textbox Sadece Sayı Harf Girişi Yaptırmak
5 (100%) 1 Oy

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.

Advertisements
  1. C# textbox sadece sayı girişi
  2. C# textbox sadece harf girişi
  3. C# textbox sadece özel karakter engelleme
  4. 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);
        }

 

İlgili İçerik  C# Mail Gönderme İşlemleri

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ı ascıı tablo


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.

İlgili İçerik  C# ToolTip Kullanımı - Nesneler İçin Açıklama

Sağlıcakla ve takipte kalın 😉

Bol kodlu günler…

C# String Sayısal Değer Kontrolü
C# Thread Sleep ile İşlem Süresini Uzatmak