1. sayfa
textbox1.text in keypress olayına gelip oraya su kodları yazarsan sorunun hallolur. if (e.KeyChar >=48 && e.KeyChar <=57) { e.Handled = false; } else if (e.KeyChar==8) { e.Handled = false; } else { e.Handled = true; //MessageBox.Show(e.KeyChar.ToString() + " geçersiz karakter"); //istersen kullanıcıyı uyarabılırsınde } |
yukarıdaki kodları kopyalayıp soylenen yere yapıştırdım fakat rakam girince hic bir uyarı vermedi.![]() |
direk yapıştırdıysan sadece engeller, uyarma satırı dikkat edersen // ile comment out yapılmış. // 'ı kaldır çalışır |
uyarı mesajı vermesi için //' ı en başta kaldırmıştım zaten.ona rağmen mesaj uyarısı vermedi ve rakam girişine izin vermeye devam etti.başka bir öneriniz varmı?? |
hiç denemedim ama tahminimce e.KeyChar tek bir karakter döndürür 'c' gibi sen kodd 48 gibi onun ascii koduna bakıyorsun. haliyle bulamıyor ve tepki vermiyor. kuvvetle muhtemel e.KeyChar kodunun döndürdüğünü ascii ye cevirip (yani int'e sayılır) kontrol etmelisin. sorun bu mu tam emin değilim kontrol etmek gerekir. |
{ if ((e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == Convert.ToInt32(Keys.Back)) e.Handled = false; else e.Handled = true; } şeklinde yazdım ve sayı girişini engelledim fakat bu sefer backspace tusunu engelledim ![]() |
burada engellemi olmayasın e.KeyChar == Convert.ToInt32(Keys.Back) |
denemeden yazıyorum yazım hatası olabilir:
Mantık: Textleri Sayıya Çevirmeye Çalışırız Çeviremediği Taktirde Catch ile hatayı yakalatırsın buda demektirki yazı girilmiş sayıya çevrilemiyor. catch yakalarsa demektir ki yazı girilmiş. |
ascii nin backspace kodu 8 dir bnu kaldır ve olayı key press e yaptıgından emın ol sorun olcagını sanmıyorum |
try catch yöntemi ile sayı girişini engelledim ![]() ![]() |
Ayni seyi sadece sayi girilmesi icin nasil yapabiliriz? Buldum; int ctrl; if (!int.TryParse(textBox3.Text, out ctrl)) { MessageBox.Show("sadece sayi"); } else { .........; } |
sadece sayı girişi için bu kodu kullandım; if ((e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == Convert.ToChar(Keys.Back)) e.Handled = false; else e.Handled = true; sayı dısındaki tuşlar engellenmiş oldu ![]() |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.