如何检查窗口是否打开并在C#中关闭它

Smi*_*eez 0 c# wpf

在我的应用程序中,当我通过编码手动按下另一个窗口中的按钮时,我希望关闭一个特定的窗口,如果它已打开.如何检查窗口是否打开?提前致谢.

Cod*_*ray 7

你真的应该在你的应用程序内部跟踪这种事情......

但是,既然听起来你不是,你可以依靠WPF为你做这件事.它跟踪应用程序中通过Application.Current.Window集合公开的所有打开的窗口,因此您可以遍历此集合,寻找与您感兴趣的类型的窗口匹配.

例如:

foreach (var wnd in Application.Current.Windows)
{
    if (wnd is MyWindow)
    {
        // We found one!
        //
        // Close it or do something else interesting here.
    }
}
Run Code Online (Sandbox Code Playgroud)