最小化FormClose可防止计算机关闭

Tim*_*imo 4 .net c# .net-3.5 visual-studio-2008 winforms

我有一个简单的基于表单的.NET应用程序.在此我捕获FormClosing事件以防止关闭应用程序,而是我最小化它.应用程序应始终打开.这是我使用的代码:

private void Browser_FormClosing(object sender, FormClosingEventArgs e)
    {
       e.Cancel = true;
       this.WindowState = FormWindowState.Minimized;
       this.ShowInTaskbar = true;

    }
Run Code Online (Sandbox Code Playgroud)

现在的问题是,这可以防止计算机为具有非管理员权限的用户提供支持.我能做什么,以便计算机能够关闭,用户无法关闭应用程序?

Han*_*son 7

更改它以便它不会总是取消,而是首先e.CloseReason查看为什么要调用该事件.

有关有效值,请参阅MSDN页面以获取CloseReason枚举.它包括一个被调用的WindowsShutDown,你可能也想看一下TaskManagerClosing(如果有人试图用任务管理器关闭应用程序,他们可能真的希望它关闭而不是最小化).