C# Form Textbox'a aynı sayıyının girilmesini engelleme

RawShed

Kilopat
Katılım
19 Temmuz 2015
Mesajlar
334
Çözümler
4
Arkadaşlar, sayı tahmin oyunu yaptım fakat bir sorun var. Textbox'a aynı sayı girildiğinde MessageBox ile hata mesajı yazdırmayı düşündüm fakat yapamadım. Contain ve IndexOf denedim ama olmadı.
 
C#:
static List<int> enteredNumbers = new List<int>();
Tarzı bir liste tutabilirsiniz. (Method dışında tutmak gerekir.)

C#:
input = Int32.Parse(textBoxNumber.Text); //try-catch ile kullanmak daha mantıklı.
if(enteredNumbers.Contains(input))
{
    MessageBox.Show("Duplicate!");
}
else
{
    enteredNumbers.Add(input);
}

Oyun bittiğinde tekrardan aynı sayıları girebilmek için List'i sıfırlamanız gerekiyor.
enteredNumbers.Clear(); ile yapılabilir.
 
Son düzenleme:
TextBox'ın KeyDown event'ine şunun gibi bir şey yapabilirsin:
C#:
if(char.IsNumber((char)e.KeyValue)) {
    MessageBox.Show("Sayı girdiniz!")
}
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı