打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C# WPF如何关闭通过父窗口打开的所有子窗口
foreach (Window item in Application.Current.Windows){ if (item.Title == "") continue; // 跳过无标题窗口 if (item.Title != "父窗口标题") item.Close();}

WinForm时这样操作的:

// 遍历并关闭所有子窗口FormCollection childCollection = Application.OpenForms;for (int i = childCollection.Count; i-- > 0;){ if (childCollection[i].Name != "父窗口标题") childCollection[i].Close();}// 或者也可以这样写:FormCollection childCollection = Application.OpenForms;for (int i = childCollection.Count; i-- > 0;){ if (childCollection[i].Name != this.Title) childCollection[i].Close();}

WPF中时这样操作的:

// 遍历并关闭所有子窗口Window[] childArray = Application.Current.Windows.Cast<Window>().ToArray();for (int i = childArray.Length; i-- > 0;){ Window item = childArray[i]; if (item.Title == "") continue; // 忽略无标题窗口 if (item.Title != "父窗口标题") item.Close();}// 或者也可以这样写:Window[] childArray = Application.Current.Windows.Cast<Window>().ToArray();for (int i = childArray.Length; i-- > 0;){ Window item = childArray[i]; if (item.Title == "") continue; // 忽略无标题窗口 if (item.Title != this.Title) item.Close();

总结, 注意WPF中调试要排除无标题窗口,否则会导致程序被关闭。
这里的无标题窗口是WPF的界面调试器,如果它被关闭会导致被调试的程序也被关闭,Release程序可以不用对无标题窗口进行排除。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Delphi中TApplication类
设置个性化的IE浏览器标题文字
WPF入门
WPF之基础概念
C++开发WPF,Step by Step - WPF随笔 - 博客园
WPF 基础到企业应用系列1——Application
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服