C# winForm 窗口跳转 后关闭上一个窗口的方法

方法一:

 关闭子窗体后
form2.Closed += (ss,ee)=> { this.Close(); };
或Application.OpenForms集合找到要关闭的窗口,再Close:
foreach (var item in Application.OpenForms)
{
  if (item is Form1) item.Close();
}

 

方法二:

B new_form = new B();
new_form.owner = this;
this.hide();
new_form.showdialog();
Application.ExitThread();

Application.ExitThread();是退出当前线程。
首先默认情况下我们的程序是单线程的,
this.hide();后把当前窗体隐藏起来了,然后new_form.showdialog();模态弹出新窗口。
这个时候线程不会继续执行(被阻塞了),
直到我们关闭了新弹出来的模态窗口后,程序才会继续执行Application.ExitThread();此时线程关闭,所有一切都关闭了,隐藏的窗口也关闭了。

原文地址:https://www.cnblogs.com/huanhuan86/p/2920303.html