先说一下我的需要,需求是一系列窗口windows1,windows2,windows3,windows4,windows5,之间互相跳转,就像安装程序的下一步一样。我在App.xaml处理 StartUp 事件,在事件里启动窗口1,new Window1().ShowDialog(),然后我在由windows1跳转到windows2的时候,如果用show()方法,应用程序就关闭了,可是我不想关闭程序,我希望在任意的一个窗口关闭的时候才关闭应用程序,请问如何实现呢?比如说,程序从windows1启动,跳转到windows2,再跳转到windows3,这时如果用户按了alt+f4,关闭窗口,那么就关闭应用程序,请问应该怎么做的,先谢谢各位了!~
解决方案 »
- InternetGetCookie 259错误(没有可用的数据)
- c#+VSS问题
- vs2005使用C#编写的网站,如何在数据库记录更新时自动刷新界面显示啊?
- 正 则 表 达 式 异 常 : 正 在 分 析 …… 过 多。 各位,怎么解决啊?
- DevExpress 2010.2 中的打印问题
- -------------asp.net页面被调用的问题--------------
- 自定义控件类的问题
- 请教:如何去掉文本框中字符的空格!(问题很幼稚,不过真的不会,很菜^_^)
- 如何进行日期转换
- 各位大虾,IE6.0不能弹出新的窗口,是不是存在安全漏洞,还是别的原因??
- WinForm中用户控件怎么拖到窗体上?
- 泛型在有没有根据值得到它所在位置的方法或是属性
记得你提过这个问题的,翻了一下原来的问题,还是以前那个答案:如果你使用ShutdownMode="OnExplicitShutdown",那么程序关闭需要手动控制,alt+f4是关闭窗体,不是关闭应用程序,你可以在窗体的Closed事件中执行Application.ShutDown()来关闭应用程序
处理这种问题方法很多啊首先你可以定义一个全局计数器变量,打开一个窗口时计数器+1,关闭一个窗口时计数器-1,当计数器为0的时候关闭应用程序,否则继续执行,这样当你打开新窗口,并关闭旧窗口时,Closed里面计数器实际没变,程序继续;当你仅执行关闭时,则计数器减少了,减少到0时,执行Application.ShutDown()另外你可以自定义一个事件代理,触发自定义事件时将是否关闭应用程序的参数传给事件处理方法,在事件处理方法中关闭应用程序