1

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

4

1 回答 1

3

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

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

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

于 2013-06-18T01:16:16.420 回答