关闭父级而不关闭子级

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(使用前将#替换为@)

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

  • 是否有可能劫持标准输出

    我正在尝试使用 C 重定向 Windows XP 上已运行进程的标准输出 我知道如果我自己生成进程 我可以做到这一点 但对于这个应用程序 我更喜欢一个 监听器 我可以附加到另一个进程 这在纯 Net 中可能吗 如果不可能 在 Win32 中
  • 生成多个随机数

    我想生成 25 个唯一的随机数并将它们列在控制台中 数字的长度应至少为 10 个字符 有什么简单的方法可以做到这一点吗 尝试将数字构建为字符串 并使用 HashSet 确保它们是唯一的 Random random new Random Ha
  • STL之类的容器typedef快捷方式?

    STL 容器的常见模式是这样的 map
  • NDK 应用 onDestroy 清理 - 如何 DetachCurrentThread

    因此 如果我们连接 我们必须在完成后分离线程 对吗 JNIEnv get jni env JNIEnv res JAVA VM gt GetEnv void res JNI VERSION 1 6 Using cached JavaVM J
  • 将字符串作为 PChar 从 CSharp 传递到 Delphi DLL

    我正在尝试将字符串从 C 传递到 Delphi 构建的 DLL Delphi DLL 需要 PChar 这是Delphi导出 procedure DLL Message Location PChar AIntValue integer st
  • 在没有 epsilon 的情况下可以将浮点数与 0.0 进行比较吗?

    我知道 要比较两个浮点值 需要使用一些 epsilon 精度 因为它们并不精确 但是 我想知道是否存在边缘情况 我不需要那个 epsilon 特别是 我想知道这样做是否总是安全的 double foo double x if x lt 0
  • C# 无法捕获 SerializationException

    我的程序在加载序列化文件的部分遇到问题 如果文件无法反序列化 我希望很好地失败 但由于某种原因 我的程序将中断而不是进入 catch 子句 这是我的代码 using FileStream fs new FileStream openFile
  • ContentDialog 未与 UWP 中心对齐

    据我所知 ContentDialog的默认行为应该是使其在 PC 上居中并在移动设备上与顶部对齐 但就我而言 即使在 PC 上我也将其与顶部对齐 但我不明白发生了什么 我正在使用代码隐藏来创建它 这是我正在使用的代码片段 Creates t
  • 将 dataGridView 中选定的行作为对象检索

    我有一堂这样的课 public partial class AdressBokPerson public long Session get set public string F rnamn get set public string Ef
  • 如何将 Q 格式整数转换为浮点数(反之亦然)?

    我四处搜寻 找不到一个很好的问题来回答这个问题 给定一个整数 使用Q Format https en wikipedia org wiki Q number format 如何将该数字转换为普通浮点类型 反之亦然 如何将浮点类型转换为Q F
  • 如何自定义 Google 测试失败消息?

    我编写了一个如下所示的 Google 测试 它将一些计算值与 CSV 文件中预期存储的值进行比较 class SampleTest public testing Test public void setupFile const std st
  • .NET 5 EF Core SaveChangesAsync 因错误而挂起

    尽管这个问题有很多结果 但没有一个真正给我明确的答案 每次我尝试通过 AddAsync 和 SaveChangesAsync 方法插入错误数据 例如重复的主键 时 我都会看到以下日志 执行 DbCommand 失败 15 毫秒 我还在 SQ
  • 在c#中获取没有时间的日期

    我的表上有一列 缺勤日期时间 日期 当我想要获取包含日期的行时 它返回 0 行 这是我的 C 代码 DateTime ClassDate DateTime Parse lblDate Content ToString var Abs dbs
  • 如何将STL容器数据转储到gdb中?

    我无法在 gdb 中转储 STL 无序映射容器值 变量类型是 std unordered map var 我的 gdb 版本 7 7 1 GDB配置 configure host x86 64 linux gnu target x86 64
  • 当需要不同数量和类型的参数时如何创建操作委托列表

    我们有一组大约两打的类 它们继承自具有抽象 Validate 方法的基类 当然 每个类都有不同的验证需求 但它们之间的不同组合需要规则 因此 正如您可以想象的那样 这导致了大量代码重复 例如 A 类需要规则 1 3 6 和 9B 类需要规则
  • 如何同步nosql db(ravendb)中的更改

    我已经开始在 RavenDB 的示例上学习 NoSQL 我从一个最简单的模型开始 假设我们有由用户创建的主题 public class Topic public string Id get protected set public stri
  • 如何检测应用程序正在运行的 .NET 版本?

    我尝试使用Environment Version ToString 确定目标计算机上正在使用什么 NET 框架 但安装了 4 0 版本时 它说我正在使用 NET 2 0 如何检测目标计算机上正在运行的 NET Framework 版本 En
  • C 变量声明的效率 [重复]

    这个问题在这里已经有答案了 例如 在 C 中声明一个变量需要多长时间int x or unsigned long long var 我想知道它是否会让我的代码在类似的事情中更快 for conditions int var 0 code 这
  • “1个未解决的外部”C++

    我已经检查了所有文件之间的连接以及类和函数定义 但每次我尝试运行我的程序时 它都会阻止我并告诉我它有 1 个未解析的外部 该程序应该打开多个文件 一个 学生 文件和一个 成绩 文件 从中读取数据 然后使用 查询文件 来查找数据 找到查询中要
  • 从脚本启用/禁用 GameObject 组件 [Unity3D]

    我需要获取一个脚本中设置的布尔值 放入名为 bouclier 的变量 以启用或禁用游戏对象 该变量位于游戏对象 Player 中 此处右下角 我需要启用或禁用这个游戏对象 Bouclier01 为此 我将脚本附加到游戏对象 Bouclier

随机推荐

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

    第一步 展开元组并将元素传递给函数 我有一个带有 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 关闭设置对话框时 应用程序终止 我认为这是因为我们关闭了父级并处理了它的所有子级 是