728x90

프로그램 필드 테스트중사용자들이 팝업창을 확인만 하고 창을 닫지 않가 지저분해 보여서

원하는 창 말고 전부 닫는 기능을 추가 했다.

//열린 폼 정보 가지고 오기
FormCollection openForms = Application.OpenForms;

//삭제할 더미폼 생성
Form Form2 = new Form();
Form2.Show();

//현재 생성된 폼 정보
Debug.WriteLine($"openForms.Count: {openForms.Count}");
for (int i = 0; i < openForms.Count; i++)
{
    Debug.WriteLine($"formName: {openForms[i].Name}");
}

//foreach 사용시 system.invalidoperationexception: '컬렉션이 수정되었습니다. 열거 작업이 실행되지 않을 수도 있습니다.' 에러 발생
//Form1 을 제외한 나머지 폼 전부 닫기
this.Invoke((System.Action)(() =>
{
    for (int i = 0; i < openForms.Count; i++)
    {
        if (openForms[i].Name == "Form1") Debug.WriteLine(null);
        else
        {
            openForms[i].Close();
        }
    }
}));

하...킹생사...힘들다...

728x90

+ Recent posts