📜  如何阻止窗口终止 c# Visual Studio - C# (1)

📅  最后修改于: 2023-12-03 14:53:21.177000             🧑  作者: Mango

如何阻止窗口终止 c# Visual Studio

在 C# 编程中,有时需要阻止窗口关闭事件,比如用户误操作关闭窗口,而此时还有一些操作尚未完成。本文将介绍如何在 Visual Studio 中阻止窗口关闭事件。

通过事件处理器实现阻止窗口关闭

在 Visual Studio 中,可以通过添加窗口关闭事件处理器的方式来实现阻止窗口关闭。具体步骤如下:

  1. 打开窗口设计器,在 Properties 窗口中双击 FormClosing 事件,即可自动生成窗口关闭事件处理器。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    // 添加代码阻止窗口关闭
    e.Cancel = true;
}
  1. 在自动生成的事件处理器中添加代码来阻止窗口关闭,代码如下:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    // 添加代码阻止窗口关闭
    e.Cancel = true;
}

其中,e.Cancel = true 表示阻止关闭事件的继续执行。

通过重载窗口关闭方法实现阻止窗口关闭

除了通过事件处理器实现阻止窗口关闭之外,还可以通过重载窗口关闭方法的方式来实现。具体步骤如下:

  1. 打开窗口代码文件,添加以下代码来重载窗口关闭方法:
protected override void OnFormClosing(FormClosingEventArgs e)
{
    base.OnFormClosing(e);
    // 添加代码阻止窗口关闭
    e.Cancel = true;
}

其中,base.OnFormClosing(e) 表示调用基类实现的窗口关闭方法。在重载方法中,可以添加自定义的代码来实现阻止窗口关闭。

  1. 在重载的窗口关闭方法中添加代码来阻止窗口关闭,代码如下:
protected override void OnFormClosing(FormClosingEventArgs e)
{
    base.OnFormClosing(e);
    // 添加代码阻止窗口关闭
    e.Cancel = true;
}
总结

通过以上两种方式,均可实现阻止窗口关闭的效果。需要注意的是,在实现阻止窗口关闭之前,必须确保关闭事件的全部操作已经完成。此外,需要根据具体的程序逻辑和需求来选择合适的方式来实现。