MessageBox-两个按钮做相同的事情

本文关键字:按钮 两个 MessageBox- | 更新日期: 2023-09-27 18:04:08

我希望它能让一个名为"退出"的菜单条项目显示一个MessageBox,询问用户是否真的想退出,但无论他们单击"是"还是"否",它仍然会退出程序。

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

MessageBox-两个按钮做相同的事情

使用代码关闭表单本身

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

在您的else块中。

您无需执行任何操作即可关闭MessageBox;每当用户单击其中一个按钮时,它就会自动关闭。在MessageBox关闭之前,MessageBox.Show方法不会返回。

您可以在没有else:的情况下尝试此操作

 if (MessageBox.Show("Do you really wish to exit?", "Exit?", MessageBoxButtons.YesNo) == DialogResult.Yes)
   {
     Application.Exit();
   }
 MessageBox.Show("Do you really wish to exit?", "Exit?", MessageBoxButtons.YesNo);
 Application.Exit();

我强烈反对这样做,因为这对用户可用性来说很差。