Witam serdecznie. Jestem początkującym programistą i chciałbym poprosić was o pomoc. Stworzyłem coś takiego do sprawdzania wprowadzanej zawartości do TextBoxa:
private void TXB_1_KeyDown(object sender, KeyRoutedEventArgs e)
{
foreach (char s in this.TXB_1.Text)
{
if (e.Handled = ((s) < '0' || (s) > '9')) //Jeżeli znak nie jest cyfrą zablokuj wprowadzanie
{
TXB_1.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0)); //Ramka czerwona
TXB_2.Text = "Wprowadź tylko cyfry!!!"
}
else
{
TXB_1.BorderBrush = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0)); //Ramka czarna
TXB_2.Text = ""
}
}
}
Kod nie zachowuje się tak jak bym chciał. Blokuje textboxa dopiero po wprowadzeniu drugiego znaku. A chciałbym już zablokować przy pierwszym błędnym. Piszę aplikację do sklepu windows MetroUi. Używam Visual Studio 2015. Temat był wałkowany mnóstwo razy ale nie znalazłem odpowiedzi. Dzięki z góry za pomoc.