У меня есть FormA
, из которого я открываю FormB
примерно так:
FormB B = new FormB();
FormB.ShowDialog();
В FormB
у меня есть некоторый код в блоке try catch, и когда он выдает исключение, FormB
закрыто.
private void func()
{
try
{
// some code
DialogResult = DialogResult.Ok;
throw new Exception("Test exception")
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Взгляните на эти две строки кода.Когда значение DialogResult превышает значение throw для исключения, форма закрывается после исключения.
И наоборот, форма не закрывается.Так может кто-нибудь объяснить это поведение?