c# - 关闭所有子窗体时退出应用程序

标签 c# forms winforms parent-child exit

在我的 winform 应用程序中,我有一个表单在 for 循环期间创建其他表单。此父表单保持隐藏状态,纯粹用于处理。

我将处理代码从程序类中移开,因为 Application.Run似乎不适合在循环中放置 nice,因为会打开多个实例。

当子表单完成时,它们将关闭。我想知道的是,即使父窗体仍处于打开状态,当这些窗体关闭时,我是否可以让应用程序退出。我试过公开 List<bool>在父表单上存储哪些表单已关闭,但由于父表单没有实例名称,子表单无法访问列表 - 它由 Application.Run(new FormProcessor(args)); 调用

更一般地说,我想我问的是有没有一种方法可以从子窗体访问父窗体的属性。

最佳答案

在每个子表单的构造函数中注入(inject)对父表单的引用,从而允许访问它。

或者当创建每个子窗体时,在父窗体中添加对列表的引用,然后运行后台任务以等待所有子窗体关闭。您可以通过在每个子表单上订阅表单关闭事件并等待它们触发来做到这一点

关于c# - 关闭所有子窗体时退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32696541/

相关文章:

c# - 使用 Newtonsoft JSON 反序列化 IList 对象

c# - WPF中如何设置外边框、居中边框和内边框?

c# - 单击后仅删除文本框默认文本,c# form

c# - 我的程序中关联文件类型的问题

c# - 如何检测所有者表单何时从内部控件关闭?

c# - 通过括号之间的逗号对字符串进行分组

c# - Autofac 用具体类型注册泛型实例

javascript - 表单验证自动滚动修改javascript

javascript - 使用 Javascript 提交时添加行的问题

C# 应用程序无明显原因退出