我有一个包含多个函数的类,在所有这些函数中我都有一个try catch并且在catch中我启动一个新表单来显示错误。像这样:
Program.erro = exception.ToString();
Error NewError = new Error();
Error.ShowDialog();
但是每当我关闭错误表单时,我都需要能够关闭当前表单FormUpdate作为示例。
我把这行代码放在错误的FormClosed
事件中:
UpdateOrca.Update.ActiveForm.Close();
“更新”是需要关闭的开放表单。
答案 0 :(得分:1)
您可以使用using
语句,然后在关闭错误对话框后,其余代码将会执行。
using (Error NewError = new Error())
{
NewError.ShowDialog()
}
this.close();
然后,您可以删除NewError
关闭事件中的代码。
答案 1 :(得分:0)
正如您在that中看到的那样,问题是在主窗体中创建子窗体的close事件,并在其中调用this.close()将解决问题。
答案 2 :(得分:0)
您应该将调用表单实例传递给对话框表单。 .NET
允许您识别开放表单的所有者表单。
例如;你可以打开像;
这样的弹出窗口Dialog frmDialog = new Dialog();
frmDialog.ShowDialog(this);
然后;在弹出窗体中,您可以监听form_closing事件,如;
private void Dialog_FormClosing(object sender, FormClosingEventArgs e)
{
if (this.Owner != null)
this.Owner.Close();
}
希望它有所帮助。