作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个时钟应用程序。我已经设置了窗口的 TopMost 属性。但是,随机地,一些其他窗口或 Visual Studio 出现在时钟之上。
有没有其他方法可以让我的窗口(时钟应用程序)始终显示在所有其他应用程序之上。
最佳答案
我知道这个问题很老了,但我不太明白为什么接受的答案获得了投票......或者为什么它被接受......它没有真的回答这些天发布的问题或提供的解决方案和答案都很短,几乎总是被社区否决投票和/或删除。嗯,我想它是在不同的时间发布的。
无论哪种方式,尽管它已经很老了,但对于将来可能遇到这篇文章的任何人,我都有一个可能的解决方案。您可以简单地处理 Window.Deactivated
Event和/或 Application.Deactivated
Event . Window.Deactivated
Event 当窗口变成背景窗口时发生并且Application.Deactivated
Event 当应用程序不再是前台应用程序时发生。
想法是在每次您的应用程序或 Window
失去焦点时将相关的 TopMost
属性设置为 true
:
private void Window_Deactivated(object sender, EventArgs e)
{
// The Window was deactivated
this.TopMost = true;
}
值得注意的是,其他开发人员也可以使用此技术,因此这并不能保证您的 Window
将始终保持在顶部,但它对我和通过使用它,情况肯定会得到改善。
关于c# - TopMost 并不总是 TopMost - WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729369/
我是一名优秀的程序员,十分优秀!