2012-03-19 5 views
2

을 사용하여 여러 창 양식 응용 프로그램에서 양식을 닫는 이벤트 C#에서 여러 Windows 양식 응용 프로그램 (frmMian, frmSteg 및 frmCrypt)이 있습니다. 기본 양식 (frmMain)에서 다른 두 양식을 호출 할 수 있습니다. 두 양식 중 하나를 종료 할 때마다 기본 양식으로 돌아가려면 VB에서 사용되는 것과 유사한 양식 닫기 이벤트를 어떻게 사용할 수 있습니까?Visual C#

FrmSteg frmstego = new FrmSteg(); 
    FrmCrypto frmcrypt = new FrmCrypto(); 

    private void btnsteg_Click(object sender, EventArgs e) 
    { 

     frmstego.Show(); 
     this.Hide() ; 
    } 

    private void btncrypto_Click(object sender, EventArgs e) 
    { 

     frmcrypt.Show(); 
     this.Hide(); 
    } 

답변

1

자식 창에 Form.Closed 이벤트를 사용하십시오.

frmstego.Closed += (s, e) => { 
    this.Show(); 
}; 

frmcrypt.Closed += (s, e) => { 
    this.Show(); 
}; 
+0

'e'라는 로컬 변수는 이미 '부모 또는 현재'범위에서 'e'와 다른 의미를 갖기 때문에이 범위에서 선언 할 수 없습니다. 다른 것을 나타냅니다. 어떤 아이디어가 왜 – suleimankurawa

+0

@suleimankurawa, 예, 아마도 당신은 'e'라는 변수를 선언하는 다른 메소드에 코드를 붙여 넣었을 것입니다. 그렇다면'e'를'e2'로 바꾸거나 작동 시키려면 무엇이든 변경하십시오. –

0

이렇게 기본 폼에 싱글 톤 액세서를 배치 해보십시오. 그리고 기본 폼의 생성자에서 _instance = this을 설정하십시오.

+1

* shudders * 왜 ...? –

+0

@ErikDietrich 주로 응용 프로그램이 커지면 이전 양식을 닫을 때 기본 양식이 선택된 양식이 될 수 없습니다. 또 다른 옵션은 메인 양식이 다른 양식의 부모임을 보장하는 것이지만, 그렇게하는 것은 아니라고 명시되어 있습니다. –

+0

@ mperrenoud03 귀하의 설명을 이해하지 못합니다. – suleimankurawa