Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么OnClosing过时了?我应该迁移到OnFormClosing吗_C#_.net_Winforms - Fatal编程技术网

C# 为什么OnClosing过时了?我应该迁移到OnFormClosing吗

C# 为什么OnClosing过时了?我应该迁移到OnFormClosing吗,c#,.net,winforms,C#,.net,Winforms,我正在阅读System.Windows.Forms.Form.OnClosing()方法的示例,并注意到: 警告:OnClosing方法在.NET Framework 2.0版中已过时;改用OnFormClosing方法 我找不到关于为什么它被标记为过时的参考资料。 我想我会在这里问: 在我浪费了几个小时在反射器中艰难前行之前 作为其他人的参考,这将是有益的 我看到的唯一区别是,您可以访问,因此如果您不需要这些(如果您使用OnClosing,您显然不需要这些),那么切换到OnFormClosin

我正在阅读System.Windows.Forms.Form.OnClosing()方法的示例,并注意到:

警告:OnClosing方法在.NET Framework 2.0版中已过时;改用OnFormClosing方法

我找不到关于为什么它被标记为过时的参考资料。
我想我会在这里问:

  • 在我浪费了几个小时在反射器中艰难前行之前
  • 作为其他人的参考,这将是有益的
  • 我看到的唯一区别是,您可以访问,因此如果您不需要这些(如果您使用OnClosing,您显然不需要这些),那么切换到OnFormClosing有什么好处吗


    我理解过时意味着它可能会消失,所以您应该尽快更新,但您和我都知道,在MS land中过时意味着什么。我想知道确切的技术细节来解释原因。

    我认为主要原因是解决了OnClosing的一些不一致之处,特别是,如果表单由于Application.Exit而关闭,则不会调用它

    从:

    调用应用程序..::.Exit方法以退出应用程序时,不会调用OnClosed和OnClosed方法。如果在这些方法中有必须执行的验证代码,则应在调用Exit方法之前分别为每个打开的表单调用Form..::.Close方法


    OnFormClosing提供了对CloseReason成员的访问,这使得处理更容易以干净、一致的方式正确处理。

    这一点,并且您可以在不关闭应用程序的情况下关闭表单,因此能够区分两者是很重要的。