我有一个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分配高于异常抛出时,窗体将在异常之后关闭。
反之亦然,表格未关闭。有人可以解释这种行为吗?
答案 0 :(得分:-1)
设置DialogResult
所示的Form
的{{1}}时,它将关闭。在设置属性之前引发异常时,该属性将不会更改,因此不会关闭表单。
我已经测试过了,它关闭了表单,但是无法直接在属性中找到它的完成方式。