当用户单击应用程序右上角的红色“X”按钮时,我似乎很难弹出对话框并正常运行。我可以使对话框出现,询问他们是否真的要关闭应用程序,但是无论他们单击什么,它都会关闭表单。我的代码如下:

            private void Main_FormClosing(object sender, FormClosingEventArgs e)
    {
        DialogResult dr = MessageBox.Show("Are you sure want to close?", "Close Program", MessageBoxButtons.OKCancel);
        if (dr == DialogResult.Cancel)
        {
            e.Cancel = false;
        }
    }

我也尝试了代替e.Cancel来检查dr是否等于ok,但同样的情况也会发生。

有什么想法吗?

最佳答案

e.Cancel = true;取消操作。默认是false。您没有在任何地方将其设置为true。试试这个。

private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
    DialogResult dr = MessageBox.Show("Are you sure want to close?", "Close Program", MessageBoxButtons.OKCancel);
    if (dr == DialogResult.Cancel)
    {
        e.Cancel = true;
    }
}

单线:
e.Cancel = MessageBox.Show("Are you sure want to close?", "Close Program", MessageBoxButtons.OKCancel) == DialogResult.Cancel;

关于c# - C#Windows Form_Closing问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34553732/

10-12 12:41