2016-08-27 1 views
1

두 개의 양식이 있습니다. form1은 로그인 양식입니다. 그래서 사용자 이름과 암호가 올바르게 입력되면 .. 사용자는 form2로 이동하여 form1을 숨길 것입니다. form2는 form2를 닫고 form1로 돌아 가기위한 "로그 아웃"버튼을 포함합니다 ..form2를 닫을 때 form1을 닫으십시오 (적색 십자형 단추에서)

이것은 코드입니다. 여전히 버튼 로그 아웃에 대한

private void logout_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
     foreach (Form OpenedForm in Application.OpenForms) 
     { 
      if (OpenedForm is Form1) 
      { 
       OpenedForm.Show(); 
       break; 
      } 
     } 
    } 

모든 것이 그것과 괜찮습니다 ..하지만 사용자가 로그 아웃하지 않고 직접 응용 프로그램을 종료하는 붉은 십자가를 클릭하면 유일한 문제는이 경우에 .. Form1에 (로그인)이 나타납니다 숨겨진 .. 적십자에서 form2를 닫을 때 form1을 닫을 수있는 해결책이 있습니까? 덕분에 내 가난한 영어에 대한 미안.

+0

이 Form2를 닫는 이벤트를 처리 ... 적십자 클릭 할 때를 감지하는 데 도움이 공통 기능에 logout_Click의 몸을 리팩토링하고, 두 이벤트 모두를 호출 할 수 있습니다 - logout 대 exit에 대한 인수 추가 – user326608

+0

응용 프로그램이 종료되면 숨겨진 양식이 자동으로 닫힙니다. 따라서 주 양식을 닫으면 응용 프로그램이 종료되고 숨겨진 로그인 양식도 숨겨집니다. 매우 간단하며 추가 이벤트를 처리 할 필요가 없습니다. –

답변

3

FormClosing Event을 사용해 볼 수 있습니다.

private void Form2_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    // close the first form... 
} 

This thread

+0

감사합니다 .. 간단하고 유용 :) –

관련 문제