跳过(未显示)C#MessageBox并自动设置DialogResult

时间:2017-11-07 10:34:15

标签: c# messagebox formclosing dialogresult

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

当事件被触发时,应显示MessageBox,要求用户选择“是”'或者'否'。而是运行MessageBox行,但不显示它,并且DialogResult自动设置为“No' No'没有用户互动。

我尝试将DialogResult设置为“是”'事先并且仍然设置为“不”。没有用户交互,即使MessageBoxDefaultButton设置为'是' (按钮1)。

有人可以识别导致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;
    }
}

0 个答案:

没有答案