如何更改用户单击Windows Forms应用程序(在C#中)的关闭(红色X)按钮时发生的情况?

最佳答案

您可以覆盖OnFormClosing来执行此操作。请注意您不要做任何意外的事情,因为单击“X”关闭是一种众所周知的行为。

protected override void OnFormClosing(FormClosingEventArgs e)
{
    base.OnFormClosing(e);

    if (e.CloseReason == CloseReason.WindowsShutDown) return;

    // Confirm user wants to close
    switch (MessageBox.Show(this, "Are you sure you want to close?", "Closing", MessageBoxButtons.YesNo))
    {
    case DialogResult.No:
        e.Cancel = true;
        break;
    default:
        break;
    }
}

10-08 10:50