我们实现了一些自定义工具提示绘图代码
Tick
计时器事件。每当此事件触发时,我们检查以确保控件可见。(
this.Visible
)是前景窗口(
GetForegroundWindow()
)
我们遇到的问题涉及“总是在最上面”窗口,如任务管理器或流程资源管理器(启用“总是在最上面”选项时)。因为这些窗口总是在上面,所以有时我们的应用程序被这样的窗口遮挡/覆盖,但是我们的工具提示仍然会弹出并绘制在上面的窗口上。
我试过用
Form.TopMost
属性,但这是不可接受的,因为如果任何地方都有“始终在顶部”窗口,则不会出现工具提示。在这种情况下,我们的应用程序甚至是活动的,所以我们应该显示工具提示。
如何检测/确定窗体上鼠标悬停的区域是否有“始终在上”窗口?我想阻止工具提示显示“通过”窗口。