C# Textbox Giriş Kısıtlama
C#’da textboxlara sadece metin veya sadece rakam gibi giriş kısıtlamaları koymak istiyorsanız makalemizi okumaya devam edin.
Program yazarken her türlü kontrolü sağlamamız gerekir. Kullanıcılar bilerek yada bilmeyerek yaş alanına adlarını veya isim alanına rakamsal bir değer girebilirler. Bunlar biz programcılar için istenmeyen durumlardır. Bu yüzden doğru girişlerin yapılmasını sağlamak için tedbirler almamız gerekir. Kullanıcıya yanlış bir değer girdiğini ve düzeltmesi gerektiğini bildirmek bir çözüm olabilir. Bunun yanında kullanıcının girmesini istediğimiz değerleri kısıtlayarak girmesini sağlayabiliriz. Eğer biz yaş bölümüne değer girilmesi için sadece klavyedeki rakamları kullanılabilir kılarsak istenilenden farklı bir girişi en başta engellemiş oluruz. Aşağıda Windows Form ve WPF’de textboxlara koyabileceğiniz kısıtların kodlarını paylaşıyorum. Bu kodları projelerinize dahil ederek daha sağlıklı programlar hazırlayabilirsiniz. Kolay gelsin.
Windows Form Kısıtlamaları
!!! Uyarı: Aşagıdaki kodları textbox’ın KeyPress eventine yazmanız gerekmektedir.
Sadece rakam girilmesini ve backspace tuşunun çalışmasını istiyorsanız aşağıdaki kodu kullanabilirsiniz.
if (char.IsLetter(e.KeyChar))//rakam giriliyor metin girilemiyor { e.Handled = true; }
Sadece metin girilmesini ve backspace tuşunun çalışmasını istiyorsanız aşağıdaki kodu kullanabilirsiniz.
if (char.IsNumber(e.KeyChar))//metin giriliyor rakam girilemiyor { e.Handled = true; }
WPF Kısıtlamaları
!!! Uyarı: Aşağıdaki kodları textbox’ın PreviewTextInput eventine yazmanız gerekmektedir.
Sadece rakam girilmesini ve backspace tuşunun çalışmasını istiyorsanız aşağıdaki kodu kullanabilirsiniz.
if (!char.IsNumber(e.Text, e.Text.Length - 1))//sadece rakam girilmesine ve backspace tuşuna izin veriyor. { e.Handled = true; }
Sadece metin girilmesini ve backspace tuşunun çalışmasını istiyorsanız aşağıdaki kodu kullanabilirsiniz.
if (!char.IsLetter(e.Text, e.Text.Length - 1))//sadece harf girilmesine ve backspace tuşuna izin veriyor. { e.Handled = true; }
Sadece sembol girilmesini ve backspace tuşunun çalışmasını istiyorsanız aşağıdaki kodu kullanabilirsiniz.
if (!char.IsSymbol(e.Text, e.Text.Length - 1))//sadece sembol girilmesine ve backspace tuşuna izin veriyor. { e.Handled = true; }
Son yorumlar