Bugün sizlerle textbox nesnesinde sadece sayı veya sadece harf girilmesine izin veren veya sadece seçilmesine izin veren kodları paylaşacağım. Resimlerle daha iyi anlaşılacağını umuyorum.
Şekildeki gibi önce biçimlendirmek istediğimiz textbox nesnesini seçiyoruz sonra "Properties" penceresine geçiyoruz.
Bu pencerede kırmızı daire içinde olan "Events" sekmesine tıklıyoruz ve karşımıza nesne ile ilgili olayların sıralandığı bir pencere çıkıyor. Bu pencereden "KeyPress" seçeneğinin yanındaki resimde işaret edilen boş kutuya çift tıklıyoruz ve karşımıza bir yordam (Sub) çıkıyor.
Bu yordama girilen kodlar klavyeden tuşa her bastığımızda çalıştırılır ve eğer kod izin verirse nesneye yazdırılır. Şimdi sadece harf girilmesine izin verecek kodu yazalım.
If Not (Char.IsLetter(e.KeyChar) = True) And e.KeyChar <> ChrW(Keys.Back) And e.KeyChar <> ChrW(Keys.Space) Then
e.Handled = True
End If
Burada "e.KeyChar <> ChrW(Keys.Back)" ve "e.KeyChar <> ChrW(Keys.Space)" komutları ile silme(Keys.Back) ve boşluk(Keys.Space) tuşlarına da izin veriliyor isterseniz bunları çıkartıp sadece harf girişine izin vermeniz de mümkün. Bu nesneye sadece küçük ya da sadece büyük harf yazılmasını istiyorsanız "Properties" penceresinden "Character Casing" bölümünden upper veya lower seçeneklerini kullanabilirsiniz.
Sadece sayı girilmesine izin verecek kod ise şöyle:
If Not (Char.IsNumber(e.KeyChar) = True) And e.KeyChar <> ChrW(Keys.Back) Then
e.Handled = True
End If
Burada da sadece sayı girilmesine ve silme tuşunun kullanılmasına izin veren kodu görüyoruz.
Sadece seçilmesine izin verecek kod ise şöyle:
If e.KeyChar <> ChrW(Keys.Select) Then
e.Handled = True
End If
Hepinize kolay gelsin.
TEŞEKKÜR EDERİM
YanıtlaSilsadece harf yazdırdımızda ama rakama basınca hata vermesini sağlamamız için yazzılması gereken kod var mı
YanıtlaSilhatayı ekranda yazdırmamız gerekiyor mesela sadece harf girin lütfen gibi
YanıtlaSilmsgbox("UYARI!!") bunu yazmak yeterli if in içine
SilSayıyı girdiğimde giriş yapsın girmediğimde hata versin. bunu nasıl yapcam araştırdım bulamadım lütfen yardım edermisin?
YanıtlaSilBir üstteki yorum da aynı konuyla alakalı. If else yöntemiyle çözebilirsin.
SilEmeğinize sağlık
YanıtlaSilTeşekkürler
YanıtlaSil