加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

WPF窗口关闭后会发生什么?

发布时间:2020-12-14 02:29:08 所属栏目:Windows 来源:网络整理
导读:在我的 WPF应用程序中,我有时需要创建一个小帮助窗口,并在我第一次需要时创建窗口的实例. if (mesareaderThreadQueWin == null){ mesareaderThreadQueWin = new MesaReaderThreadQueWindow(); }mesareaderThreadQueWin.Show(); 这到目前为止完美无缺.但是,如
在我的 WPF应用程序中,我有时需要创建一个小帮助窗口,并在我第一次需要时创建窗口的实例.

if (mesareaderThreadQueWin == null)
{
    mesareaderThreadQueWin = new MesaReaderThreadQueWindow();    
}

mesareaderThreadQueWin.Show();

这到目前为止完美无缺.但是,如果我关闭窗口并再次调用代码,程序崩溃告诉我在窗口已经关闭后我无法显示.

我想知道这里到底发生了什么.该窗口不为null,否则代码只会创建一个新实例,但由于我已经显示了窗口,我似乎再也不能这样做了.所以窗口必须处于某种中间状态.无法变为可见但不为空.

我可以检测到这种状态吗?它有一种方法再次重用这个窗口,然后根本不关闭窗口,而是使用隐藏?

解决方法

Can I detect this state?

据我所知,没有办法进入这种状态

Its there a way to reuse this window again other then not closing the window at all and using hide instead?

是,在对话框窗口中处理Closing事件,或覆盖OnClosing方法:

protected override void OnClosing(CancelEventArgs e)
{
    e.Cancel = true;
    this.Hide();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读