C# textbox sayı girişimini engelleme

Textbox nasıl harf girişimini engellemeyi göstereceğim, böylelikle password yaparken sadece sayı kullanınız gibi yapabilirsiniz.
1- öncelikle sadece sayı girilmesini istediğiniz textbox üzerine tıklıyoruz. Sağ altta özellikler bölümünden olayları seçiyoruz.

1620343451471.png


2 - sonra seçtiğimiz kısımdan Keypress'ı bulup boş yere 2 kere tıklıyoruz. Karşımıza böyle yer gelecektir.

1620343468970.png


Buraya şu kodu giriyoruz;

C#:
 e.Handled = !char.IsLetter(e.KeyChar) && !char.IsControl(e.KeyChar)

&& !char.IsSeparator(e.KeyChar);

 
Son düzenleyen: Moderatör:
Güzel bir yazı olmuş, birkaç ekleme yapmak istiyorum.

Öncelikle incelediğim kadarıyla, bu yöntem sadece TextBox içine manuel bir şekilde yazı girilirse işe yarıyor. Yani farklı bir yerlerden kopyala-yapıştır yapılırsa çalışmayacaktır. (Bunun için ShortcutsEnabled ayarı kapatılabilir.)

Bunu önlemek için TextChanged eventine bir Regex kontrolü yapılabilir veya her harf teker teker kontrol edilebilir.

Ben olsam işlem yapılacağı sırada kontrol ederdim, yazı yazıldığı anda değil.
 

Geri
Yukarı