我正在使用C#开发一个Winforms应用程序。我有一个带有菜单的MDI容器,通过按下按钮,相应的窗体就会显示在左侧。如果我点击打开Form1的按钮3次,那么就会打开6个Form1的实例。因此,我认为我需要编写一个方法来处理任何其他Form1实例的释放。通过以下方法,我正在循环遍历MDI子项,但我需要一些帮助来关闭除新窗体外的所有其他实例。
public void DisposeAllButThis(Form form)
{
foreach (Form frm in this.MdiChildren)
{
if (frm == form)
{
frm.Dispose();
return;
}
}
}