C# Forms'ta kullanıcı sayı yerine harf girerse hata nasıl verdirtilebilir?

imamparator61

Centipat
Katılım
12 Ekim 2024
Mesajlar
628
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Merhaba dostlar, bir ödevim var ve yardım lazım. Kullanıcı textboxa int değer girmesi lazım ve string değer girerse nasıl hata verdirebilirim? Yardımcı olursanız çok sevinirim.
 
Try-catch ile Convert.ToInt32() hata verirse handle etmeye çalışabilirsiniz.
 
Catch'in parantezine yazacağım hata türü nedir peki.
Hocam ezbere hatırlamıyorum şu anda, öncelikle string verince aldığınız hata türüne bakın, ona göre gelen hata o ise ona göre handle edersiniz, değilse başka türlü bir akış olur.
 
"Exception e" yapabilirsin direkt standart placeholder olarak. sanırım parantez açmadan da direkt exception olduğunda istediğin logici yazabiliyorsun.
 
Hata verdirtmene gerek yok, direkt sayi disinda bir sey girdirtmeyebilirsin. WinForms.TextBox'ta direkt bir limitleme propertysi var miydi hatirlamiyorum ama her zaman KeyPress eventinde kullanicinin bastigi tusun numeric bir tus olup olmadigini kontrol edebilir ve yazmasini engelleyebilirsin;

C#:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
    {
        e.Handled = true;
    }
}

Yukarida verdigim kod blogu kullanicinin bastigi tusun control tuslarindan biri degilse ve digit/numeric degilse keypress handled deyip normal event handlerin tusu printlemesine engel oluyor. Control tuslarina izin veriyoruz ki silebilisin kullanici yazdigi seyi.
 
Hocam yine de bu Client bazlı bi çözüm olduğundan kullanıcı yine karakter olarak gönderemez mi? Bu da istenmeyen gereksiz veriler doğuracaktır. Sunucu tarafından yapılan bir kontrol daha sağlıklı bir çözüm olmaz mı?
 
WinForms'da çalışıyor. Sunucu zaten client.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…