问题标签 [topmost]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winforms - 启动流程 TopMost
我有一个 C# .Net 2.0 应用程序,它实现了这样的 FullscreenMode:
如果用户处于全屏模式并尝试打开帮助,则没有任何反应(用户可见),帮助窗口会显示在我的全屏表单后面。帮助文件像这样打开:
是否可以启动Process
TopMost 或将其放在调用表单的前面?如果是这样,怎么办?
listview - (WinForms)当表单位于最顶层时,ListView 在其自己的表单后面显示工具提示
我有一个表单,里面只有一个 ListView。ListView 设置为显示子项的工具提示(在详细信息视图中)。如果表单不是最顶部的,则工具提示显示正常。当我将表单的 TopMost 设置为 true 时,工具提示出现在窗口“后面”。
是否需要设置任何其他属性/属性组合才能使工具提示在表单上像往常一样显示?
c# - WPF-Window Topmost 仅适用于自己的应用程序?
我的 WPF 应用程序中的 Splashscreen/Loading-Window 设置为Topmost="True"。现在,即使您切换到另一个应用程序,这个窗口也位于所有其他窗口的顶部(因为加载需要一些时间)。我不想要这种行为。
如果我设置Topmost="False"窗口根本就不是最上面的。但是,如果您在使用另一个应用程序后切换回我的应用程序,我的客户有时不会意识到 Loading-Windows 仍在工作。该应用程序似乎没有响应,因为后台的加载窗口仍然是活动窗口并且是模态的。
我希望加载窗口位于最顶层,但前提是我的应用程序位于前台。如果您切换到另一个程序,窗口应该会消失并在您切换回来时重新出现在最上面。
c# - 如何使 WPF 窗口位于我的应用程序的所有其他窗口之上(不是系统范围)?
我希望我的窗口仅位于我的应用程序中的所有其他窗口之上。如果我设置一个窗口的 TopMost 属性,它会位于所有应用程序的所有窗口之上,我不希望这样。
c# - 将 XAML 窗口设置为始终位于顶部(但没有 TopMost 属性)
我正在开发一个基于 OptiTrack SDK(来自 NaturalPoint)的应用程序。我需要将应用程序窗口作为“始终在顶部”运行。该窗口是用 XAML 设计的,并在“CameraView”类中进行控制,但它似乎不包括“TopMost”属性或等效项。附件是“CameraView.xaml.cs”的代码和“CameraView.xaml”的代码,它们是 OptiTrack SDK (NaturalPoint) 的一部分,称为“Single_Camera_CSharp_.NET_3.0”。
人们可以期望 CameraView 类包含属性或成员来设置窗口在屏幕上的位置或将其设置为 TopMost,但就搜索而言,我一无所获。我想知道我应该怎么做。
谢谢你,布赖恩
=================
“CameraView.xaml.cs”
=================
“CameraView.xaml”
c# - Windows 窗体中 TopMost 属性的真正烦人的错误
我有这个 Windows 窗体应用程序,它位于通知区域。单击图标将其置于前面,再次单击它(或单击应用程序 X 图标)将其返回。这种类型的应用程序在通过单击图标显示窗口时始终位于顶部很重要(尽管它是可选的)。
右键单击该图标会弹出一个上下文菜单,您可以在其中选择是否启用“始终位于顶部”选项。当应用程序第一次启动时,应用程序设置是从 XML 文件中读取的,我 99% 认为这可以正常工作,TopMost
属性被正确读取(和写入)。
过了一段时间(几分钟,几小时,几天,无论如何;我通常休眠并且很少关机)TopMost
停止工作。我没有更改选项,我认为没有任何东西会更改选项值,但我单击通知区域图标并且应用程序没有出现在前面。它出现了,但它在背景上(它显示在 Alt+Tab 上),它不是“总是在最上面”,因为它应该。我调出上下文菜单,禁用该选项(因为它已启用)并重新启用它,然后它开始工作。该应用程序现在“始终处于领先地位”。但是,它可能会在一段时间后随时失去这种能力。
我无法理解为什么会发生这种情况以及如何发生这种情况。有谁知道为什么?如果没有,任何想法我怎么能尝试调试这种行为?
编辑:
我添加了一段代码以在TopMost
更改属性时显示 MessageBox 以查看是否可以注意到任何奇怪的行为,但这并不好。它没有帮助,因为表格已经存在,TopMost = true
但它仍然在后台......
c# - 使帮助文件不是 TopMost
我创建了流程并启动了帮助文件
但是,这个帮助文件显示的是topform;例如我需要打开一个文件夹,但它总是在这个进程下。你能告诉我,如何使进程“普通”吗?- 它不应该是最上面的!
c++ - 如何让我最上面的窗口保持在顶部?
我将首先解释我为什么需要它,因为我预计第一反应将是“你为什么需要它?”。我想检测鼠标光标何时位于屏幕边缘并且我不想使用挂钩。因此,我创建了一个像素宽的 TOPMOST 隐形窗口。
我在 Win XP 上使用 C++,所以当创建窗口时 (CreateWindowEx(WS_EX_TOPMOST | WS_EX_TRANSPARENT ...) 一切正常。
不幸的是,如果用户移动另一个最上面的窗口,例如我的窗口上方的任务栏,我不会得到鼠标移动。
我尝试以类似于中建议的方法解决此问题: 如何始终保持 MDI 窗口在最前面
我尝试首先检查 WM_WINDOWPOSCHANGED 中最顶层窗口的 Z 顺序
然而 pWP->hwnd 指向我的窗口并且 pWP->hwndInsertAfter 为 0,这应该意味着我的窗口在 Z 的顶部,即使它被任务栏覆盖。然后我尝试了:
而且我总是会发现“默认输入法”窗口位于我的窗口顶部。即使尝试使用 SetWindowPos() 或 BringWindowToTop () 将我的窗口置于顶部,“默认 IME”仍会保持在顶部。我不知道什么是“默认输入法”以及如何检测任务栏是否在我的窗口顶部。
所以我的问题是:如何检测我的最顶层窗口不再是最顶层窗口以及如何将其保持在顶部?
PS我知道定期将我的窗口置于顶部的“蛮力”方法是可行的,但很丑陋,并且可能会对通知窗口产生一些不必要的推断。(将我的窗口置于顶部将隐藏通知窗口。)
感谢您的时间和建议!
c# - 判断窗体是否被遮挡
在.Net(或通过pinvoke)中是否可以确定窗口窗体是否被遮挡(即其他窗口已移到其上方,因此无法看到)?我正在做的是检查表单是否最小化,如果是,则在任务栏上闪烁窗口。但是问题是如果它没有被最小化,而只是移动到后台,我还想通过在任务栏上闪烁窗口来通知用户。我不想自动将窗口移动到前台(即使没有激活)。我希望他们单击它以最大化和/或显示表单。想法?
这是一些代码:
r - 如何从 R 中的向量返回 5 个最高值?
我有一个向量,我可以返回最高值和最低值,但是如何返回 5 个最高值?有没有一个简单的单线解决方案?