当我抛出 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(); 不会被执行。
也许它确实如此,但它不可见。