Obsługa błędów

Odpowiedz Nowy wątek
2018-06-17 23:02
P K
0

Witam :)
Napisałam aplikację formularzową, która pokazuje komunikat w przypadku pojawienia się błędu, po kliknięciu w przycisk Button click. Mam problem, ponieważ chciałabym, żeby błędy były sprawdzanie nie poprzez przycisk Button click. Proszę o wyjaśnienie w którym miejscu powinno być umieszczone takie sprawdzanie błędów i jak to ma wyglądać? Czy chodzi tutaj również o try... catch tylko poza buttonem?

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
try
{
double r, objetosc;
r = Convert.ToDouble(textBox1.Text);
if (r < 0)
{
MessageBox.Show("Błąd wprowadzania danych!");
listBox1.Items.Add(0.ToString());
}
else
{
objetosc = Math.Round((Math.PI Math.Pow(r,3) 4 / 3),2);
listBox1.Items.Add("Długość promienia " + r);
listBox1.Items.Add("Objetosc kuli wynosi " + objetosc);

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

}

edytowany 2x, ostatnio: P K, 2018-06-17 23:09

Pozostało 580 znaków

2018-06-17 23:47
0

Mam problem, ponieważ chciałabym, żeby błędy były sprawdzanie nie poprzez przycisk Button click

Kiedy chcesz sprawdzać czy jest błąd? Gdy ktoś wpisuje do textboxa?

Generalnie przy czymś tak zwykłym jak r < 0 raczej nie używałbym try catch (oczywiście, jeżeli to r na pewno jest już doublem)

A do konwertowania możesz użyć

https://msdn.microsoft.com/pl[...]brary/994c0zb1(v=vs.110).aspx

edytowany 2x, ostatnio: WeiXiao, 2018-06-17 23:54

Pozostało 580 znaków

2018-06-17 23:50
P K
0
WeiXiao napisał(a):

Kiedy chcesz sprawdzać czy jest błąd? Gdy ktoś wpisuje do textboxa?

Tak, na przykład wtedy.

Pozostało 580 znaków

2018-06-17 23:56
0

Obczaj to

https://www.dotnetperls.com/textbox-wpf

Zdarzenie TextChanged

This is triggered whenever the Text property of the TextBox changes.

Ewentualnie, jeżeli chodzi o wprowadzanie liczb, to może daj na TextBox maskę (input mask) - definiuje jakie znaki można wprowadzać.

Chociaż z tego co widzę, to nie jest to tak proste jak w WinFormsach (tzn. w formsach jest gotowiec) :P

edytowany 4x, ostatnio: WeiXiao, 2018-06-18 00:01

Pozostało 580 znaków

2018-06-19 02:39
0

Najprościej byłoby jednak użyć kontrolki do wprowadzania liczb, która po prostu nie pozwala na wpisywanie tekstu oraz na ustawienie minimalnej oraz maksymalnej wartości, a nie bawić się w ręczne parsowanie i łapanie wyjątków.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2018-06-19 06:48
0

@somekind: WPF jest upośledzony i takowej nie posiada vide trzeba skorzystać z osobnych bibliotek, np. MahApps.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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