首页 > 后端开发 > C++ > 关闭启动表格后,如何保持应用程序运行?

关闭启动表格后,如何保持应用程序运行?

Susan Sarandon
发布: 2025-01-29 10:16:09
原创
445 人浏览过

How Can I Keep My Application Running After Closing the Startup Form?

关闭启动表格后,保持应用程序活跃

>您可能会遇到一个问题,即即使开放了其他表格(例如Form2),即使关闭初始表格(Form1)也终止了整个应用程序。这是因为该应用程序的生命周期与主要形式相关。> >简单地隐藏form1而不是关闭它可以使应用程序运行,但引入了一个问题:当form2关闭时,应用程序不会优雅地关闭。

解决方案在于修改

代码,该代码控制着应用程序的关闭行为。 这是调整后的代码,以在关闭初始表格后保持应用程序运行:>

此改进的代码可以执行以下操作:

> Program.cs

>
<code class="language-csharp">    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form1 main = new Form1();
        main.FormClosed += FormClosed;
        main.Show();
        Application.Run();
    }

    static void FormClosed(object sender, FormClosedEventArgs e) {
        ((Form)sender).FormClosed -= FormClosed; //Detach event handler
        if (Application.OpenForms.Count == 0) {
            Application.ExitThread(); // Exit only when all forms are closed
        } else {
            Application.OpenForms[0].FormClosed += FormClosed; // Attach to the next open form
        }
    }</code>
登录后复制
事件处理:

>

事件处理程序连接到初始式(form1)。
    >
  • >形式闭合监视:它检查表格关闭后是否仍打开任何表格。FormClosed
  • 优雅的关闭:如果没有表格(),则优雅地关闭了该应用程序。
  • >事件处理程序reattachment:如果其他表格打开,则将事件处理程序附加到下一个打开表单上,以确保继续监视。Application.OpenForms.Count == 0> Application.ExitThread()
  • 此方法允许Form2在关闭Form1后保持打开状态,并且仅在关闭所有表单时终止应用程序。

以上是关闭启动表格后,如何保持应用程序运行?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板