我想在'Form1'中执行一些代码但是在对话框关闭后它不可见。我知道我可以在调用ShowDialog()之后在对话框外执行此操作,但我不喜欢它。
我在'FormClosed'中尝试过,但是当这个事件被触发时,它似乎仍然可见。此外,如果我将'Hide()'称为主要对话框,它会被最小化 - 这会发生一些有趣的事情
答案 0 :(得分:3)
我会在对话框上创建一个静态方法,并在此方法中显示对话框,并执行关闭后执行的任何操作,例如。
public static void ShowAndDoStuff()
{
MyDialog dialog = new MyDialog();
dialog.ShowDialog();
dialog.DoStuff();
}
答案 1 :(得分:1)
您可以尝试Closing Event,也可以使用hide方法。 我建议使用混合解决方案 只使用带有false默认值的布尔变量(即:sysclose), 在结束事件中,如果sysclose为false,则取消关闭并隐藏表单然后执行您的作业将sysclose设置为true并调用this.close