0

FormatException をスローすると、フォームが常に閉じているように見えます。フォームでアクションを実行できるように、フォームが閉じない方法はありますか?

例:

    int postcodeNumeriek = 0;
    if (int.TryParse(postcode.Text, out postcodeNumeriek) == false)
    {
        throw new FormatException("De postcode heeft een verkeerd formaat");
    }

    cmd.Parameters.AddWithValue("@naam", familienaam.Text);
    cmd.Parameters.AddWithValue("@voornaam", voornaam.Text);
    cmd.Parameters.AddWithValue("@straat", straat.Text);
    cmd.Parameters.AddWithValue("@nummer", nummer.Text);
    cmd.Parameters.AddWithValue("@bus", bus.Text);
    cmd.Parameters.AddWithValue("@postcode", postcode.Text);
    cmd.Parameters.AddWithValue("@gemeente", gemeente.Text);
    cmd.Parameters.AddWithValue("@telefoonnummer", telefoonnummer.Text);
    cmd.Parameters.AddWithValue("@btwnummer", btwNummer.Text);
    cmd.Parameters.AddWithValue("@nieuwsbrief", nieuwsbrief.Checked);
    cmd.Parameters.AddWithValue("@emailadres", emailAdres.Text);
    cmd.Parameters.AddWithValue("@klantnummer", klantID);

    cmd.ExecuteNonQuery();

    cmd = new SqlCeCommand("UPDATE Klanten SET Actief=0 WHERE ID='" + recordID + "'", Klantenbeheer.HuidigeDatabaseVerbinding);
    cmd.ExecuteNonQuery();
}
catch (FormatException e)
{
    postcode.Focus();
}

この例では、郵便番号の形式が正しくない場合に例外を生成するようにします。これが発生すると、フォームが閉じるだけなので、postcode.Focus(); 実行されません。

あるかもしれませんが、表示されません。

4

1 に答える 1

0

Ik denk dat het het handiger is al je die FormatException weg haalt. en de textbox bijvoorbeeld vult met wat tekst waar in staat dat het format niet klopt.

FormatException を削除した方がよいと思います。トライパースは問題ありません。ただし、テキストボックスに情報を入力するだけです。

int postcodeNumeriek = 0;

if (int.TryParse(postcode.Text, out postcodeNumeriek) == false)
{
    postcode.Text ="format postalcode incorrect";
}

このような場合は、常に Try ステートメントを使用することをお勧めします。

于 2013-05-31T13:52:18.860 に答える