在 C# 中的窗口窗体应用程序中关闭窗口时发出警报

本文关键字:窗口 应用程序 窗体 | 更新日期: 2023-09-27 18:36:44

我希望当用户通过单击(X)或按ESC键或按ALT + F4关闭(窗口表单应用程序,C#)中的窗口时,将显示警报,即对话框(包含两个按钮确定和取消)。怎么办?

在 C# 中的窗口窗体应用程序中关闭窗口时发出警报

您可以通过简单的搜索找到它!

处理表单Closing事件:

this.Closing += OnClosing; // For example put this in the constructor of your form
private void OnClosing(object sender, CancelEventArgs cancelEventArgs)
{
        string msg = "Do you want to close this?";
        DialogResult result = MessageBox.Show(msg, "Close Confirmation",
            MessageBoxButtons.YesNo/*Cancel*/, MessageBoxIcon.Question);
        if (result == DialogResult.Yes)
            /* Do something */;
        else if (result == DialogResult.No)
            cancelEventArgs.Cancel = false;
}

你可以在应用程序级别执行此操作

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.ApplicationExit += Application_ApplicationExit;
        AppDomain.CurrentDomain.ProcessExit += Application_ApplicationExit;
        Application.Run(new Form1());
    }
    static void Application_ApplicationExit(object sender, EventArgs e)
    {
        //Do something
    }