打开对话框可防止Windows关闭

时间:2013-06-18 01:03:44

标签: c# windows

我有一个使用MessageBox.Show(Message);显示消息的C#GUI应用程序,但如果用户未能单击此消息,然后请求关闭PC,则会阻止关闭。 如何阻止我的打开对话框阻止关闭?

1 个答案:

答案 0 :(得分:3)

我假设你使用的是WinForms,因为你没有提到WPF。如果要控制关闭行为,则无法使用MessageBox。您必须构建自己的屏幕以充当消息框并使用ShowDialog方法来显示它。您的屏幕可以处理FormClosing事件以检测Windows何时关闭:

    private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (e.CloseReason == CloseReason.WindowsShutDown)
        {
            //...
        }
    }

因此,您希望在这种情况下允许屏幕关闭,并且可能对其他类型的关闭信号采取其他操作。要防止屏幕关闭,请将FormClosingEventArgs参数上的取消标志设置为true;