• 关于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)

    强制回收,关闭系统。 

      

  • 相关阅读:
    JAVA并发之ReentrantLock源码(一)
    java并发之线程池
    Quine--输出程序源码的程序(java)
    【leetcode】Weekly Contest 92
    【java集合类】ArrayList和LinkedList源码分析(jdk1.8)
    【leetcode】Weekly Contest 91
    牛客2018.6模拟考编程题
    MFC 完全自定义控件
    图形学中求平面方程系数以及法向量
    std::function解决函数重载绑定
  • 原文地址:https://www.cnblogs.com/sntetwt/p/9569644.html
Copyright © 2020-2023  润新知