我有一个时钟应用程序.我已经设置了Window的TopMost属性.但是,随机地,一些其他窗口或视觉工作室来到时钟之上.
有没有其他方法可以使我的窗口(时钟应用程序)始终显示在所有其他应用程序之上.
She*_*dan 18
我知道这个问题已经过时了,但我不太明白为什么接受的答案已经获得了投票......或者为什么它被接受了......它并没有真正回答这个问题,或者提供了解决方案和答案这些天,是短几乎都是下降投票和/或由社区删除.好吧,我猜它是在不同的时间发布的.
无论哪种方式,尽管它已经老了,我可以为将来可能会遇到这篇文章的人提供一个可能的解决方案.您只需处理Window.Deactivated事件和/或Application.Deactivated事件即可.的Window.Deactivated事件 时一个窗口成为背景窗口发生和Application.Deactivated事件 时应用程序不再是前台应用程序发生.
我们的想法是在每次申请或失去焦点时设置相关TopMost属性:trueWindow
private void Window_Deactivated(object sender, EventArgs e)
{
// The Window was deactivated
this.TopMost = true;
}
Run Code Online (Sandbox Code Playgroud)
值得注意的是,其他开发人员也可以使用这种技术,所以这并不能保证你的Window意志永远保持在最高位置,但它对我有用,并且通过使用它仍然可以改善这种情况.
cas*_*nca -2
你确定这是一个随机窗口吗?如果另一个窗口也是最顶层窗口,则它有可能位于您的窗口之上。