c#当主窗体关闭时,应用程序退出
本文关键字:应用程序 退出 窗体 | 更新日期: 2023-09-27 18:25:43
我正在编写一个多表单应用程序,我希望能够在不关闭应用程序的情况下关闭Form1
现在我正在使用this.Hide
来隐藏表单。有没有办法设置它,这样我就可以关闭任何表单,或者只有当所有表单都关闭时,应用程序才应该存在?
我想我记得有一次看到过这样的东西,但那可能不是visual studio和c#。
在Program.cs
文件中,有一行类似于Application.Run(new Form1())
。更换为
var main_form = new Form1();
main_form.Show();
Application.Run();
此外,您还需要通过在需要的位置调用Application.Exit()
来显式关闭应用程序。
一种策略是执行以下操作:
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (Application.OpenForms.Count == 0)
Application.Exit();
}
}
如果将其放置在所有表单上,当最后一个表单关闭时,应用程序将退出。
多种形式的应用程序应该有一个清晰的EXIT选项(通过菜单或工具栏),因为当最后一个窗口关闭时,你无法知道用户想要关闭程序(我假设用户可以转到文件/打开并打开新窗口)
自动执行用户没有要求的应用程序可能会使用沮丧/困惑,并花费时间重新打开应用程序。
即使是用户也可能认为应用程序在某种程度上崩溃了,因为他没有关闭它。
根据您的喜好,它是一种单一流类型的应用程序
我建议您在带有BACK、NEXT、CANCEL按钮的单个窗体上实现典型的向导界面。
当达到所需状态时,例如收集到足够的信息时,NEXT按钮将变为FINIS按钮。
每当用户按下取消/完成按钮时,窗口将关闭
如果你仍然想要多种形式,你仍然可以拥有它,在这个过程中,你可以同时拥有多个流,只需完成或取消你想要的流。