Warunek wejściowy na dane odczytywane z TextBox'a

0

Cześć,
mam problem z napisaniem kodu, który przy opuszczaniu TextBoxa sprawdzi czy wpisana została liczba (double) od -10 do 10.
Napisaną mam metodę, którą przypisałem do zdarzenia LEAVE w Windows Form:

public void SprawdzWartoscX(object sender, EventArgs e)
        {
            try
            {
                Convert.ToDouble(WartoscX.Text);

            }
            catch
            {

                MessageBox.Show("Błąd: wystąpił niedozwolony znak w podanej wartości X, wpisz liczbę!");
                
            }

I to działa tak jak powinno. Nie wiem natomiast jak napisać warunek sprawdzający czy X jest w konkretnym przedziale.

0

Convert.ToDouble() zwraca double, więc możesz przypisać to do zmiennej i sprawdzać czy wartość znajduje się w granicach czy też nie.

0
atmal napisał(a):

Convert.ToDouble() zwraca double, więc możesz przypisać to do zmiennej i sprawdzać czy wartość znajduje się w granicach czy też nie.

No tak, jak mogłem nie wpaść na to rozwiązanie. Już wszystko działa.
Dzięki za pomoc!

0

Ale jak wpiszesz "a" zamiast liczby to będziesz miał błąd. Najlepiej zrobić properties z ograniczeniem - 10<10 i zbindować to z textboxem z parametrami true na formatingEnabled i Onpropertychanged. Wtedy będziesz miał załatwioną przecinkowość i resztę. Przepraszam za brak kodu, ale piszę z pamięci i na telefonie i nie mam formatowania kodu. Ewentualnie użyj TryParse..

P. S. Leave też nie jest zbyt dobrym rozwiązaniem, chyba że chcesz żeby działanie nastąpiło wyłącznie przy opuszczaniu textboxa.

0

juz sie pojawiło: użyj TryParse, fajna odpowiedz dał Ci kolega wyzej

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