关闭无模式表格
当你需要在应用程序主屏幕旁边永久显示某些内容时,可以使用无模式表单(考虑从设备或 MDI 子窗口异步出现的数据流的图例或视图)。
但是当你想关闭它时,无模式形式会带来独特的挑战。如何检索实例并在该实例中调用 Close 方法?
你可以保留一个引用要关闭的实例的全局变量。
theGlobalInstance.Close();
theGlobalInstance.Dispose();
theGlobalInstance = null;
但我们也可以选择使用 Application.OpenForms 集合,其中表单引擎存储所有已创建但仍处于打开状态的表单实例。
你可以从此集合中检索该特定实例,并调用 Close 方法
Form2 toClose = Application.OpenForms.OfType<Form2>().FirstOrDefault();
if(toClose != null)
{
toClose.Close();
toClose.Dispose();
}