【问题标题】:Force to close current window first in WPF强制在 WPF 中首先关闭当前窗口
【发布时间】:2016-09-29 06:09:00
【问题描述】:

我正在使用 WPF 应用程序,目前它只有一个窗口并且在特定时间(根据我的要求)。它显示在最高优先级。

this.Visibility = Visibility.Visible; 
this.Topmost = true;

现在,我希望用户应该先关闭此窗口(WPF 应用程序窗口),直到无法从系统访问任何其他内容。(用户甚至无法访问其他应用程序)似乎要先强制关闭此窗口

我已被搜索,但没有得到任何东西。

我该怎么做?

【问题讨论】:

    标签: c# wpf window


    【解决方案1】:

    你不能。

    想象一下另一个应用程序试图同时做同样的事情——你不能在窗口 B 之前关闭窗口 A,但你不能在窗口 A 之前关闭窗口 B,但是......

    编辑:上面的简短版本可能会被误解,所以更详细:

    假设您的应用程序有一条对用户非常重要的消息,因此它会打开一个特殊的窗口。这个窗口的特殊属性是,只要它存在,用户就不能访问任何其他窗口。这也意味着,用户不能关闭任何其他窗口。 现在,当用户阅读消息时,另一个应用程序有一条重要消息,因此它会打开一个窗口,使用与您相同的方法阻止对其他窗口的访问,直到它关闭为止。

    用户不能关闭第二个窗口,因为第一个窗口比较特殊,必须先关闭。用户无法关闭第一个窗口,因为第二个窗口比较特殊,必须先关闭 => UI 完全锁定。可怜的用户必须使用任务管理器来杀死两个应用程序之一或重新启动系统。

    参见 Raymond Chen's more detailed discussion 这个原则。

    【讨论】:

    • 想象一下另一个应用程序试图同时做同样的事情 有道理。 你不能在窗口之前关闭窗口A B,但你不能在窗口 A 之前关闭窗口 B,但是。 没有得到你!
    • 链接页面给出了更详细的解释 - 如果这仍然对您没有帮助,我将尝试改写我的答案。
    • 是的,感谢您的链接,但我不会在窗口 B 之前关闭窗口 A,假设我有两个应用程序,一个是记事本,第二个是我的应用程序窗口,现在在特定时间我的应用程序窗口出现在顶部,现在我只想让用户在不关闭当前窗口之前无法访问记事本,我希望它确实有意义!
    • 用户不能关闭第二个窗口,因为第一个窗口比较特殊,必须先关闭。用户不能关闭第一个窗口,因为第二个窗口很特殊,必须先关闭 任何其他进程都应该放在第二优先级。
    • 我在cyber cafe见过很多次。咖啡馆有一些自定义登录门户,您是否在系统前面,系统要求提供凭据,如果您输入有效,那么您可以访问该系统,否则无法执行任何操作
    猜你喜欢
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多