2013-07-23 5 views
5

나는 C# Windows 양식을 사용하여 간단한 응용 프로그램을 개발 중입니다. 기본 폼은 다른 폼을 열지 만 두 폼을 모두 원하지 않습니다. 두 번째 양식이 열리면 첫 번째 양식이 닫히기를 원합니다. 첫 번째 형태는 모두가 닫히고 두 번째 형태를 도시 한 후에 닫기 메인 양식

this.Close(); 

를 사용하여 메인 때문이다. 그래서 이것을 대신 사용했습니다.

private void btnSubmit_Click(object sender, EventArgs e) 
    { 
     frmData QS = new frmData(); 
     QS.Show(); 
     this.WindowState = FormWindowState.Minimized; 
     this.ShowInTaskbar = false; 
    } 

    private void frmData_FormClosed(object sender, FormClosedEventArgs e) 
    { 
     Application.Exit(); 
    } 

다른 방법이 있는지 알고 싶습니다.

도움이 될 것입니다.

+0

대신 여기에 표시된 양식을 숨길 수 있습니다. http://stackoverflow.com/questions/4702070/showing-hiding-the-main-form-in-c-sharp – keyboardP

답변

7

Application.Run에 인수로 기본 양식을 통과하지 마십시오

private void btnSubmit_Click(object sender, EventArgs e) 
{ 
    frmData QS = new frmData(); 
    QS.Show(); 
    this.Close(); 
} 

당신이해야 응용 프로그램을 닫으려면 :

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 

MainForm frmMain = new MainForm(); 
frmMain.Show(); 

Application.Run(); 

따라서 다른 폼을 표시 할 때를 닫을 수 있습니다 사용

Application.Exit(); 
+0

@lazyberezovsky this.close가 앱을 종료합니다. –

+3

@SriramSakthivel 정말요? 앱 생활과 관련된 주요 양식은 무엇입니까? –

+0

+1 편집 된 코드를 이해했습니다. 내 의견이 이미 삭제되었습니다. 이것은 내가 찾고 있었던 것이다. 고마워! !!! –

2

첫 번째 양식을 숨기십시오.

private void btnSubmit_Click(object sender, EventArgs e) 
{ 
    frmData QS = new frmData(); 
    QS.Show(); 
    this.Hide(); 
} 

private void frmData_FormClosed(object sender, FormClosedEventArgs e) 
{ 
    Application.Exit(); 
} 
+0

+1 답장을 날 때려 눕 힙니다. 정확히 내가 대답했을 것처럼! – Dozer789

+0

+1 감사합니다. 완벽하게 작동했습니다. –