[WPF] Problem z obsługą błędu

0

Witam serdecznie, w programie po pozostawieniu pustego pola TextBox ma wystąpić błąd w MessageBoxie, jednak wyrzuca błąd w programie System.FormatException.
Co robię źle?
W WPF jestem mocno początkujący

private void bt1_Click(object sender, RoutedEventArgs e)
        {

            int first = int.Parse(t1.Text);
            int second = int.Parse(t2.Text);
            int third = int.Parse(t3.Text);

            if (string.IsNullOrEmpty(t1.Text) && string.IsNullOrEmpty(t2.Text) && string.IsNullOrEmpty(t3.Text))
            {
                MessageBox.Show("Wprowadź wszystkie dane");
            }
0

Spróbuj tak:


private void bt1_Click(object sender, RoutedEventArgs e)
        {       
            if (string.IsNullOrEmpty(t1.Text) || string.IsNullOrEmpty(t2.Text) || string.IsNullOrEmpty(t3.Text))
            {
                MessageBox.Show("Wprowadź wszystkie dane");
                return;
            }

            int first = int.Parse(t1.Text);
            int second = int.Parse(t2.Text);
            int third = int.Parse(t3.Text);

0

Dziękuję, działa. Niewiem dlaczego na to nie wpadłem...może za dużo materiału dziś przerobiłem.
Jeszcze muszę pomyśleć nad błędem jak ktoś wpisze stringa, ale to już nie dziś
Dzięki jeszcze raz i pozdrawiam

0

Albo spróbuj tak:

private void bt1_Click(object sender, RoutedEventArgs e)
        {       
             int a,b,c;
             if ( int.TryParse(t1.Text, out a) && int.TryParse(t2.Text, out b) && int.TryParse(t3.Text, out  c))
             {
                 MessageBox.Show("Wprowadź wszystkie dane");
                 return;
             }
}

Wyżej pytałeś jak sprawdzić czy ktoś wprowadził string możesz napisać i zblidować walidator w tedy będziesz miał message i czerwoną obwódkę na błędnym polem :)
https://stackoverflow.com/questions/19539492/wpf-textbox-validation-c-sharp

0

Dzięki, zrobię tak. O walidacji dopiero dziś doczytałem i nie stosowałem wcześniej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1