我想在父应用程序关闭时关闭子应用程序(即 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/