1

我有一个 MessageBox 附加到我的表单的关闭事件,检查用户是否想要关闭表单。

触发事件时,应显示 MessageBox,要求用户选择“是”或“否”。相反,MessageBox 行运行但不显示,DialogResult 自动设置为“否”,无需用户交互。

我尝试事先主动将 DialogResult 设置为“是”,但它仍然设置为“否”,没有用户交互,即使 MessageBoxDefaultButton 设置为“是”(Button1)。

任何人都可以确定可能导致 MessageBox 被跳过的原因吗?


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    closeForm(e);
}

private void closeForm(FormClosingEventArgs e)
{
    DialogResult exityesno = MessageBox.Show("Are you sure you want to exit?", "Close", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

    if (exityesno == DialogResult.Yes)
    {
        // close form
    }
    else if (exityesno == DialogResult.No)
    {
        e.Cancel = true;
    }
}
4

0 回答 0