zoukankan      html  css  js  c++  java
  • 关于WPF的退出

    一、WPF启动窗口方法

    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            this.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
            base.OnStartup(e);
        }
    }
    

      

    二、WPF退出窗口方法
    1、关闭当前窗口

    this.Close();
    

    2、窗口关闭之前捕获消息,可以取消关闭窗口

    this.Closing += (s, r) => { };

    3、窗口关闭之后捕获消息

    this.Closed += (s, r) => { }; 
    

    4、强制退出,即使有其他的线程没有结束

    Environment.Exit(0);
    

    5、关闭当前程序,如果有其他线程没有结束,不会关闭

    System.Windows.Application.Current.Shutdown();
    

    WPF退出总结:Close -> Application.Current.ShutDow() -> Enviroment.Exit(0)

    弱-----------------------------------------------------------------------------------------> 强

    Close->退出系统时候要看App的ShutDownModel设置;

    1、OnLastWindowClose(默认值)
    最后一个窗体关闭或调用Application对象的Shutdown() 方法时,应用程序关闭。

    2、OnMainWindowClose
    启动窗体关闭或调用Application对象的Shutdown()方法时,应用程序关闭。(和C#的Windows应用程序的关闭模式比较类似)

    3、OnExplicitShutdown
    只有在调用Application对象的Shutdown()方法时,应用程序才会关闭。

    示例:

    Application.Current.Shutdown(-1); 
    Application.Current.ShutdownMode=ShutdownMode.OnLastWindowClose; 

     如果系统有为释放的线程,或者先释放掉,或者调用Enviroment.Exit(0)

    强制回收,关闭系统。 

      

  • 相关阅读:
    C/C++常用的时间函数
    二维数组动态申请空间以及二维数组函数传参问题
    vc多线程编程
    [转载]_tmain main wmain WinMain
    using namespace std 解释
    [转载]C运行时库函数和API函数的区别和联系
    ZOJ 1013 Great Equipment(DP)
    c++ 运算符优先级表
    c语言输入的一些问题
    c\c++ 随机数函数
  • 原文地址:https://www.cnblogs.com/sntetwt/p/9569644.html
Copyright © 2011-2022 走看看