C# 当父应用程序关闭时关闭子应用程序

标签 c# .net winforms

我想在父应用程序关闭时关闭子应用程序(即 fileViewer:Window)。

注意:此父应用程序不是主应用程序。

这意味着我有 3 个级别的 C# winform 应用程序。

第一个是主要应用程序 第二个是主应用程序的子应用程序 第三个是第二个的子应用

当我关闭第二个应用程序时,我希望第三个应用程序自动关闭。

此线程Close another process when application is closing很有帮助,但我不知道在哪里调用 process.close()fileViewer.FileBrowser.Dispose(); 等方法

public void OpenNewInstanceOf2nd()
{
    //Use .NET Diagnostics to start a new process off the 2nd
    try
    {
        System.Diagnostics.Process.Start(MyFramework.FileSystem.ApplicationPath + MyProperties.MyAssemblyName);
    }
    catch (Exception ex)
    {
        MyFramework.Debug.LogException(ex, "Could not open the My Utility");
    }
}

最佳答案

如果您只是想关闭一个Form,您可以将Form 3rd的所有者设置为Form 2nd。如果您关闭 Form 2nd,Form 3rd 也将关闭。

private void Form2nd_Load(object sender, EventArgs e)
{
  Form3rd form_3rd = new Form3rd();
  form_3rd.Show(this);
}

如果它是嵌套进程/工作线程,为什么不在第二个表单/应用程序中保留引用并在第二个应用程序关闭时将其处置?

关于C# 当父应用程序关闭时关闭子应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8210735/

相关文章:

c# - 限制基类参数的类型

.net - 具有自动滚动功能的 Windows.Forms.Panel 中的控制位置

c# - 如何在 C# 中将字符串格式化为电话号码

c# - 用 '\r\n' 分割文本

c# - 使用 .NET 时如何限制文件碎片?

.net - 将枚举转换为字符串

.net - SqlDataSource 与 ObjectDataSource

c# - 计算html文件表格中有多少列和行

c# - 地铁风格的应用程序是否支持本地数据库

c# - 根据输入在启动时切换依赖注入(inject)绑定(bind) - 好的还是坏的做法?