2013-01-23 2 views
0

양식이 2 개 있습니다. 1 차 형태의 초기화에 나는 코드가 있습니다2 양식 마감 및 개봉

public App_Index() 
     { 
      InitializeComponent(); 

      this.Hide(); 

      Authorization loginForm = new Authorization(); 
      loginForm.ShowDialog(); 
     } 

을 내가 Form2로 닫기 버튼 [X]를 눌러 경우 - App_Index (Form1에) 양식 .Show을(); 그러나 이것에 대한 Form2의 코드는 없습니다. Form2에서 [X]를 누르면 Form1과 Form2를 닫고 싶습니다. 어떻게해야합니까?

+0

그냥 가까운 전체 프로그램을 종료하거나 찾고 : 또한 OpenForms 모음에서 직접 양식을 액세스하여 닫을 수 있습니다

private void Form2_FormClosing(object sender, FormClosingEventArgs e) { foreach(Form frm in Application.OpenForms) { if(f.Name == "Form1") f.Close(); } } 

: 나는 형식 2의 Form_Closing 이벤트에 이런 짓을 했을까 닫기 버튼을 눌러 2 개의 양식을 만드시겠습니까? – Robert

+0

양식 2를 닫을 때 양식 1을 닫으려고하십니까? – Neo

+0

시도해보십시오 Application.Exit(); 양식 폐막식 – Pandian

답변

2

어때? 대화 상자가 취소되면 현재 양식이 닫힙니다. 이 작업을 수행하는 다른 몇 가지 방법이 있습니다

private void Authorization_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if (e.CloseReason == CloseReason.UserClosing) 
    { 
     Application.Exit(); 
    } 
} 
0

당신은 FormClosing 이벤트를 처리 할 수있다. Application.OpenForms을 통해 루프를 사용하고 원하는 양식을 닫을 수 있습니다.

Application.OpenForms["Form1"].Close() 
0

:

public App_Index() 
{ 
    InitializeComponent(); 

    this.Hide(); 

    Authorization loginForm = new Authorization(); 
    if (loginForm.ShowDialog() == DialogResult.Cancel) 
     Close(); 
}