无论结果如何,消息框都会关闭窗体

本文关键字:窗体 消息 结果 | 更新日期: 2023-09-27 18:01:53

我是消息框按钮的新手,它似乎会关闭表单。

private void btnFechar_Click(object sender, EventArgs e)
{
    DialogResult = MessageBox.Show("Desjea Sair?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    if (DialogResult == DialogResult.Yes)
    {
        this.Close();
    }
}

thanks in advance

无论结果如何,消息框都会关闭窗体

您正在设置表单的DialogResult(看起来像WinForms),它总是关闭它。

在按钮单击事件中创建一个局部变量:

private void btnFechar_Click(object sender, EventArgs e)
{
    var dialogResult = MessageBox.Show("Desjea Sair?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    if (dialogResult == DialogResult.Yes)
    {
        this.Close();
    }
}

更多关于表单。MSDN:

如果窗体显示为对话框,则使用来自dialgresult枚举的值设置此属性将为窗体设置对话框结果的值,隐藏模态对话框,并将控制权返回给调用窗体。

所以如果你使用ShowDialog()显示表单,那么设置表单的dialgresult属性会导致它关闭