在我的 winform 应用程序中,我有一个表单在 for 循环期间创建其他表单。此父表单保持隐藏状态,纯粹用于处理。
我将处理代码从程序类中移开,因为 Application.Run
似乎不适合在循环中放置 nice,因为会打开多个实例。
当子表单完成时,它们将关闭。我想知道的是,即使父窗体仍处于打开状态,当这些窗体关闭时,我是否可以让应用程序退出。我试过公开 List<bool>
在父表单上存储哪些表单已关闭,但由于父表单没有实例名称,子表单无法访问列表 - 它由 Application.Run(new FormProcessor(args));
调用
更一般地说,我想我问的是有没有一种方法可以从子窗体访问父窗体的属性。
最佳答案
在每个子表单的构造函数中注入(inject)对父表单的引用,从而允许访问它。
或者当创建每个子窗体时,在父窗体中添加对列表的引用,然后运行后台任务以等待所有子窗体关闭。您可以通过在每个子表单上订阅表单关闭事件并等待它们触发来做到这一点
关于c# - 关闭所有子窗体时退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32696541/