0

私のプログラムにはこれらのコードがあります。ただし、this.closeは機能しません。また、前のフォームが閉じなかったため、2番目のフォームと重複しています。一度に1つのフォームだけを開くことができるようにするにはどうすればよいですか?form1にあるコンテンツをlblScoreform2に表示する値を設定しました。ただし、form1を閉じて、開いているフォームがform2だけになるようにします。どうやってやるの?

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();
}

ありがとう。

4

1 に答える 1

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();

        }
于 2013-02-16T04:13:45.923 に答える