在学习WPF时自己弄了几个小工具,今天在使用时无意中发现点击右上角关闭按钮后,程序进程并没有被结束。网上也没有这个问题的答案(也许这对别人来说是小Case吧),后来发现这个问题也不太难,但还是写出来让新手有个参照。
成都网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都封阳台等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称赞!
我最初的解决方法是在Windows窗体的Closed事件上作文章。给它一个方法,方法的代码也很简单:
private void Window_Closed(object sender, EventArgs e) { Application.Current.Shutdown(); }
通过这个方法,窗体在关闭时就会调用Shutdown()方法结束程序。
后来觉得这个方法不好、用起来不自在,于是想到了另一个方法:重写Windows类的OnClosed()方法:
protected override void OnClosed(EventArgs e) { Application.Current.Shutdown(); }
现在看起来舒服了。
还有一种方法:禁用右上角的红叉。这个方法是可行的,但由于WPF本身不可以直接禁用,实现起来很麻烦,而且给用户的体验也不太好(Windows用习惯了),所以在这里并不推荐。