關閉無模式表格

當你需要在應用程式主螢幕旁邊永久顯示某些內容時,可以使用無模式表單(考慮從裝置或 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();
}