2013-02-16 3 views
0

내 프로그램에이 코드가 있습니다. 그러나 this.close는 작동하지 않습니다. 이전 양식이 닫히지 않았기 때문에 두 번째 양식과 겹칩니다. 한 번에 하나의 양식 만 열 수 있으려면 어떻게해야합니까? form2에 표시 될 form1에있는 lblScore의 내용을 가져올 값을 설정했습니다. 그러나 form2를 닫을 수 있도록 form1을 닫고 싶습니다. 어떻게해야합니까?양식이 닫히지 않았습니다

if (score >= 2) { 
    timerDrop.Enabled = false; 
    MessageBox.Show("Time's Up! You can now proceed to the next Level!"); 
    frmLevel2 lvl2 = new frmLevel2(); 
    lvl2.Show(); 
    lvl2.set = lblScore.Text; 
    this.Close(); 
} else { 
    timerDrop.Enabled = false; 
    MessageBox.Show("Time's Up! GAME OVER!"); 
    frmMenu frmBackToMenu = new frmMenu(); 
    frmBackToMenu.Show(); 
    this.Close(); 
} 

감사합니다.

+0

당신은 단지 대신 표시의) ShowDialog를을 (사용할 수 있습니다() –

+0

@CSharpStudent는'ShowDialog를()는'차단 방법입니다. OP가 무엇인지는 의심 스럽습니다. –

+0

@TiesonT. 그럼 그 때 막 showdialog없이 두 번째를 보여주는 후 첫 번째 양식을 닫을 때 두 양식을 모두 닫습니다 –

답변

0

첫 번째 양식을 숨기려면 2 단계를 닫으면 응용 프로그램이 멈출 수 있습니까? 다음과 같이하십시오 :

(form1을 열면 form2를 연 다음 form1을 숨긴 다음 form2가 닫히면 form1도 닫음);

 private void button1_Click(object sender, EventArgs e) 
     { 
      this.Hide(); 
      Form2 form2 = new Form2(); 
      form2.ShowDialog(); 
      this.Close(); 

     } 
관련 문제