Merhaba, 2 textbox belirledim. Birisi bölünen diğeri ise bölen. Kullanıcı 2 yere de giriyor ve kalanı var mı yok mu kontrol edilmesini sağlıyor. Sorunsuz çalışıyor yaptığım tüm uygulamalar. Ancak int dışında (mesela string) bir değer girilirse (harf vb.) Oyundan atıyor. (Doğal olarak.) Bunu nasıl önleyebilirim? Mesela oyundan atmak yerine messagebox. Show("yanlış değer girdiniz"); yapsın istiyorum. Şimdiden teşekkür ederim.
Merhaba, 2 textbox belirledim. Birisi bölünen diğeri ise bölen. Kullanıcı 2 yere de giriyor ve kalanı var mı yok mu kontrol edilmesini sağlıyor. Sorunsuz çalışıyor yaptığım tüm uygulamalar. Ancak int dışında (mesela string) bir değer girilirse (harf vb.) Oyundan atıyor. (Doğal olarak.) Bunu nasıl önleyebilirim? Mesela oyundan atmak yerine messagebox. Show("yanlış değer girdiniz"); yapsın istiyorum. Şimdiden teşekkür ederim.
string girilen = ""; //Gelen veri bu değişkenin değerini alır.
if (!Int32.TryParse(girilen, out int sayi))
{
MessageBox.Show($"Geçersiz bir sayı girdiniz: {girilen}");
}
else
{
MessageBox.Show($"Geçerli bir sayı girdiniz: {sayi}");
}
Bu tarz bir kodun işlevi görmesi lazım. Mantık bu şekilde.
string girilen = ""; //Gelen veri bu değişkenin değerini alır.
if (!Int32.TryParse(girilen, out int sayi))
{
MessageBox.Show($"Geçersiz bir sayı girdiniz: {girilen}");
}
else
{
MessageBox.Show($"Geçerli bir sayı girdiniz: {sayi}");
}
Bu tarz bir kodun işlevi görmesi lazım. Mantık bu şekilde.
kullanımı ise, [] içerisine istenilen kuralı yazarız. Mesela sadece harf girmesini istersen, [a-zA-Z] yaparsın. *$ kısmı ise string içerisini karakter karakter kontrol etmeni sağlar. yazmazsan hatırladığım kadarıyla ilk karaktere bakıyordu. Bu tür kullanımları internetten bakanı tavsiye ederim.
kullanımı ise, [] içerisine istenilen kuralı yazarız. Mesela sadece harf girmesini istersen, [a-zA-Z] yaparsın. *$ kısmı ise string içerisini karakter karakter kontrol etmeni sağlar. yazmazsan hatırladığım kadarıyla ilk karaktere bakıyordu. Bu tür kullanımları internetten bakanı tavsiye ederim.
Bir textbox'un yalnızca rakamları kabul etmesi için o textbox'un KeyPress event'ine şu kodu yaz:
Textbox, rakam ve Backspace dışındaki tuşları kabul etmeyecektir.
Bu event, o textbox'a klavyeden her karakter girildiğinde tetiklenir.
Char'ın IsDigit yöntemi, girilen karakterin rakam olup olmadığını denetler. Girilen karakter, bir rakam değil ise e.Handled özelliği true ayarlanarak, olayın işlenmesi engellenir; rakam dışında kalanlar kutuya yazılmaz, yalnızca rakamlar kabul edilir.
Backspace'yi ise girileni silmek için kabul etsin. Backspace'nin karakter kodu 8'dir.
Arkadaşlar olay çok basitmiş. try cash kullanmam yetiyormuş. Yine de hepinize teşekkür ederim. Aynı sorunu yaşayanlar try'a komutları yazabilir, cash'a hata alınınca ne yapacağını belirtebilir.