检查打开的窗口是不是已关闭

Posted

技术标签:

【中文标题】检查打开的窗口是不是已关闭【英文标题】:Check if opened window has been closed检查打开的窗口是否已关闭 【发布时间】:2012-08-24 09:28:52 【问题描述】:

我有一个主窗口,即应用程序启动窗口。 在该窗口中,有一个绑定到SQL DatabaseRepeater 控件和一个用于打开新窗口的按钮。

新窗口有一个方法可以将数据插入到第一个窗口的Repeater 控件读取的SQL Database

转发器有一个RepeaterRefresh() 方法,强制它重新绑定到SQL Database,显示添加的任何内容。

如何才能将第二个窗口的Close() 事件绑定到RepeaterRefresh() 方法,以便数据自动显示在转发器上。

我已经阅读了this、thisand this,但我仍然觉得我的问题与此无关。

【问题讨论】:

这能回答你的问题吗? How do you tell if a WPF Window is closed? 【参考方案1】:

为什么不简单地将处理程序添加到Closing 或Closed 事件:

private void ShowChildWindow()

    Window childWindow = new ChildWindow();
    childWindow.Closed += ChildWindowClosed;
    childWindow.Show();


private void ChildWindowClosed(object sender, EventArgs e)

    ((Window)sender).Closed -= ChildWindowClosed;
    RepeaterRefresh();

【讨论】:

ChildWindowClosed 方法需要这一行:(sender as Window).Closed -= ChildWindowClosed; @JoanComasFdz 谢谢,我已经添加了。

以上是关于检查打开的窗口是不是已关闭的主要内容,如果未能解决你的问题,请参考以下文章

Java登录窗口关闭 打开新窗口

javascript 检查打开的窗口是否关闭

检测用户是不是点击了弹出窗口中的元素

关闭时从另一个应用程序打开 Spotify 主窗口

在下载IE浏览器后,左上角箭头成灰色了,网页总在一个个新窗口打开,怎么恢复。不是病毒,已检查过。

C# WinForm中,如何判断窗口已打开