-1

「Exit」というメニューストリップ項目が、ユーザーに本当に終了するかどうかを尋ねるメッセージボックスを表示するようにしたいのですが、ユーザーが「はい」または「いいえ」をクリックしても、プログラムを終了します。

private void Exit_Click(object sender, EventArgs e)
    {
        // Shows a prompt asking the user if they really want to exit
        DialogResult dQuit;

        dQuit = MessageBox.Show("Do you really wish to exit?",
                                 "Exit?",
                                 MessageBoxButtons.YesNo,
                                 MessageBoxIcon.Question);

        // If 'Yes' button is clicked, close the program
        if (dQuit == DialogResult.Yes)
        {
            Application.Exit();

        }
        else
        {
            // Else, close the dialog box and return to the menu screen
            this.DialogResult = System.Windows.Forms.DialogResult.No;
        }
    }
4

3 に答える 3

4

コードを使用してフォーム自体を閉じています

this.DialogResult = System.Windows.Forms.DialogResult.No;

あなたのelseブロックで。

MessageBox を閉じるために何もする必要はありません。ユーザーがいずれかのボタンをクリックすると、自動的に閉じられます。このMessageBox.Showメソッドは、MessageBox が閉じられるまで戻りません。

于 2013-03-15T12:15:10.520 に答える
2

あなたはなしでこれを試すことができますelse

 if (MessageBox.Show("Do you really wish to exit?", "Exit?", MessageBoxButtons.YesNo) == DialogResult.Yes)
   {
     Application.Exit();
   }
于 2013-03-15T12:27:56.717 に答える
1
 MessageBox.Show("Do you really wish to exit?", "Exit?", MessageBoxButtons.YesNo);
 Application.Exit();

ユーザーの使いやすさが悪いため、これを行うことはまったくお勧めしません

于 2013-03-15T12:54:36.147 に答える