Form1 中點擊 Button1 彈出 Form2(Show() 非模態),隨後點擊 Button2 調用 Application.Exit() 退出,拋出異常:「集合已修改,可能無法執行枚舉操作」。
主線程關閉時,若有其他線程仍嘗試訪問 UI 集合(如控件集合、綁定集合),即會觸發此異常。常見於:背景線程更新 UI、定時器未停止、非模態窗體未正確關閉。
Thread.Join() 或取消標誌)。Application.OpenForms 調用 Close()。Timer、取消異步操作。Process.GetCurrentProcess().Kill(),但不推薦常規使用。