关闭父级而不关闭子级

2024-03-04

我有一个项目,其中弹出一个设置对话框(父级)。当用户点击“继续”时,将打开一个主对话框(子级)。 在主对话框中,用户可以重新编辑设置对话框(父级)。当用户单击 X 关闭设置对话框时,应用程序终止。 我认为这是因为我们关闭了父级并处理了它的所有子级

是否可以在不关闭主对话框(子对话框)的情况下关闭父对话框(或隐藏它)? 如果没有,下面的修复会起作用吗? 作为父级打开主对话框并使其打开设置对话框(子级)


In the Program.cs文件,你可能有这样的函数:

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

该函数是您的应用程序的入口点。这Application.Run()函数运行主循环的应用程序。这主循环图形应用程序的事件处理程序触发事件、UI 更新等的地方。如果事件(例如按下按钮)处理时间过长,UI 将挂起。为了防止这种情况发生,可以使用线程。

The Application.Run()函数是重载的,因此如果函数有参数(new Form1()在这种情况下),该窗体成为“主”窗体,因此当窗体关闭时主循环将退出。

要解决此问题,您需要删除该参数,这将使主循环在窗体关闭时运行而不关闭:

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run();
    }

然而,这会产生两个问题:

  1. 启动时不显示任何表单,因为我们将其从Main功能。要解决此问题,您需要在主函数中创建一个新表单,并显示它:

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
    
        Form1 form = new Form1();
        form.Show();
    
        Application.Run();
    }
    
  2. 当您关闭表单时,应用程序不会退出。如果关闭所有表单,该进程仍将运行,因此您需要调用Application.Exit();当您希望应用程序退出时(例如表单关闭事件)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关闭父级而不关闭子级 的相关文章

随机推荐

  • 一般对元组的每个元素调用成员函数

    第一步 展开元组并将元素传递给函数 我有一个带有 N 个参数的函数 void func int double char 和一个具有匹配类型的元组 std tuple
  • GMAIL API 在 C# 中发送带有附件的电子邮件

    我需要在 C 中使用 Gmail Api 发送带附件的电子邮件的帮助 我已经阅读过有关发送带有附件的电子邮件的 Google 网站 但示例是用 java 编写的 答案为时已晚 但将其发布以防万一有人需要 为此需要 MimeKit 库 可以从
  • 动态更新 Cors 注册表

    我在 heroku 上有一个应用程序 它返回一些 oauth 令牌 在我的 Spring Boot 应用程序中 我使用了 WebMvcConfigurerAdapter 从数据库获取来源列表 return new WebMvcConfigu
  • 为什么 Oracle SQL 不允许我们在 GROUP BY 子句中使用列别名?

    这是我在编写 SQL 查询时经常遇到的情况 我认为在 GROUP BY 表达式中编写整个列 例如长 case 表达式 具有长参数的求和函数 而不是别名会使查询更长且可读性较差 为什么 Oracle SQL 不允许我们在 GROUP BY 子
  • 是否可以使用“initialData”属性将 App 脚本参数写入 Stackdriver 消息?

    Summary Google 建议可以使用具有 initialData 属性的 JSON 对象将 App 脚本参数 以及其他数据 写入 Stackdriver 但这似乎不起作用 问题示例 这个谷歌页面 https developers go
  • MS Access 日期/时间的最大值

    Microsoft Access 中可以表示的最大 最新 日期是哪一天 Valid date values range from 657 434 January 1 100 A D to 2 958 465 December 31 9999
  • LINQ to SQL - 选择字符串数组等文本

    我有一个清单
  • 取消特定的 UILocalNotification

    我有这个用于本地通知的代码 并且我有一个使用我自己的方法的 ScheduleNotification 和clearNotification 这些是代码 void clearNotification UIApplication sharedA
  • 在 ASP.NET 中创建动态控件

    我正在创建一个文件上传控件linKbutton单击事件 第一次它创建控件 但如果我第二次按链接按钮 它就不会创建 这有什么问题吗 以下是我的代码 protected void LinkButton1 Click object sender
  • common lisp:宏如何使用以编程方式生成的名称定义其他方法/宏?

    我意识到我的代码的某个部分由看起来相似的方法组组成 就像我有多个三重奏 一个由程序员的其他两个函数调用的辅助函数 我正在尝试编写一个宏来为我定义这三个函数 以便我所需要做的就是调用该宏 但我的尝试导致 defun 和函数调用将引用字符串而不
  • 如何查看 PyCharm 中每个键的作用?

    我正在 emacs 中寻找类似 M x描述键 的东西 I see Help gt Default Keymap Reference and Settings gt Keymap但这两者都是按主题分组和排序的 我想要一些按键分组和排序的东西
  • MVC4 中的 Bootstrap 和 font-awesome

    我正在使用 MVC4 并通过 nuget 添加了 Bootstrap 和 Font Awesome 我可以看到 Bootstrap 如何通过 via 进行捆绑BootstrapBundleConfig cs 由 nuget 包添加 如下 p
  • 由于语法错误,我无法在 Haskell 上执行任何操作

    我可以执行简单的操作 例如 Hugs gt 2 2 例如 或任何操作 就此而言 但是当涉及到实际尝试定义一个函数时 例如 occurs Eq a gt a gt a gt Bool occurs x l x elem l 然后我收到消息 E
  • 在 PHP 中查找图像边框颜色的算法

    我正在尝试找到一种使用图像从图像中获取边框颜色的方法php 我尝试使用此代码 但此算法为我提供了任何图像中的所有颜色
  • 删除包含文件的文件夹

    我想发送文件file txt从我的 Rails 控制器使用send file 然后删除包含它的文件夹 send file Rails root public folder file txt system rm rf Rails root p
  • Android 应用内结算。何时取消注册 ResponseHandler?

    我们一年前实现了应用内结算 按照文档中的示例代码没有出现任何问题 几周前 我们注意到用户抱怨没有收到他们的物品 在调试代码时我们发现下面这句话才是问题的根源 Called when this activity is no longer vi
  • 在 Visual Studio Code 中隐藏 .js.map 文件:文件嵌套

    我正在 Visual Studio 代码中开发一个打字稿项目 并且想隐藏 js map 甚至可能是 js 文件不会出现在文件资源管理器中 是否可以只显示 ts文件资源管理器中的文件 在您的设置 用户或工作区 中 有一个设置可以调整以隐藏您想
  • 枚举智能感知显示属性?

    我想做这个 enum Foo Display Item One ItemOne 这样智能感知就会像在属性中一样显示它而不是实际名称 我知道这是可能的 我以前见过 那么你可以提供 XML 文档 enum Foo
  • 将条形图和折线图与 pandas 结合起来[重复]

    这个问题在这里已经有答案了 我正在尝试将条形图和折线图结合起来 但我似乎无法弄清楚 我尝试了代码here https stackoverflow com questions 23482201 plot pandas dataframe as
  • 关闭父级而不关闭子级

    我有一个项目 其中弹出一个设置对话框 父级 当用户点击 继续 时 将打开一个主对话框 子级 在主对话框中 用户可以重新编辑设置对话框 父级 当用户单击 X 关闭设置对话框时 应用程序终止 我认为这是因为我们关闭了父级并处理了它的所有子级 是