窗口形式结束事件

时间:2016-12-16 06:48:56

标签: winforms

我使用C#创建窗体应用程序。我正在使用MDI接口。

但我想这样做:

private void Earnings_Leave(object sender, EventArgs e)
{
    DialogResult result = MessageBox.Show("Are you sure to Quite this form","confirmation Message", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

    if(result==DialogResult.Yes)
    {
       this.Close();
    }
    else if (result == DialogResult.No)
    {
       Earnings sibling = new Earnings();
       sibling.MdiParent = this.MdiParent;
       sibling.Show();
    }
}

但这不起作用,表格会在两种情况下关闭,请帮助我。

1 个答案:

答案 0 :(得分:0)

您的代码看起来是正确的,但WinForms在遇到错误时会倾向于自行关闭。 您必须确保关闭的原因是DialogResult。

请使用以下代码更改代码部分:

private void Earnings_Leave(object sender, EventArgs e)
{
    DialogResult result = MessageBox.Show("Are you sure to Quite this form","confirmation Message", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

    if(result==DialogResult.Yes)
    {
 MessageBox.Show("You selected Yes", "Yes Message", MessageBoxButtons.OK);
       this.Close();
    }
    else if (result == DialogResult.No)
    {
 MessageBox.Show("You selected No", "No Message", MessageBoxButtons.OK);
       Earnings sibling = new Earnings();
       sibling.MdiParent = this.MdiParent;
       sibling.Show();
    }
}

如果您看到对话框,您将知道代码是否正常工作。