问题标签 [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.

0 投票
3 回答
2058 浏览

c# - 使另一个应用程序的窗口位于最上方后失去焦点

我正在将另一个应用程序的窗口置于最顶层,以确保在我的应用程序中单击会将另一个应用程序的对话框带入视图。我遇到的问题是通话后我没有将注意力重新集中到我的应用程序上。如果另一个应用程序有更多窗口,则其中一个最终获得焦点,否则没有窗口(仅查看任务栏)获得焦点。我应该从哪里开始调查这个问题?

我将另一个应用程序置于最高位置的代码是:

常数为

0 投票
2 回答
7596 浏览

c# - 您如何制作一个仅在 WinForms 中的父表单最顶层的非模态最顶层对话框?

为“关于”对话框考虑这一点,但我确信它适用于其他地方(比如查找框)

抱歉,如果这是一个骗局,但我找不到这个或如何阐明最后一部分,它只是在父母之上。您如何制作一个始终位于父表单之上,但非模态,但不覆盖其他应用程序的表单?

0 投票
2 回答
2246 浏览

.net - 涉及 TopMost 和 Invoke 的 Z-Order 问题

我正在使用 Form.ShowDialog() 显示对话框。表单设置为 TopMost。一些图像处理计算在后台异步执行。它们的结果由 Invoke 以主要形式呈现。到现在为止还挺好。奇怪的是,模态对话框时不时地移动到主窗体后面。我想当构建对话框的消息被 Invoke 以某种方式“干扰”时会发生这种情况。

任何想法如何解决这个问题?

0 投票
5 回答
5338 浏览

c# - 我可以将 ShowDialog() 设置为不是最顶层的吗?

有没有办法可以将 ShowDialog() 设置为不是最顶层的?我查看了所有相关的 SO 问题,但没有一个完全符合我的情况。

我所做的是从 datagridview 按钮列打开一个新的 WinForm。这个新表单从几个 SQLite 表中提取信息,并允许用户将信息添加到单击按钮的行中。

我使用下面的代码打开 WinForm。我使用 ShowDialog() 方法,因此我可以判断用户是在表单中保存信息还是取消它。

我这样做是为了告诉我是否需要重新加载 datagridview 中的信息。

用户可以填写到窗口中的信息来自其他来源,例如 Web 浏览器,因此将表单置于所有应用程序之上并不理想。

有没有办法可以阻止窗口位于所有应用程序之上(在我的一系列窗口中最上面的很好),或者有没有办法告诉用户在另一个表单上单击了哪个按钮(基本上,使用paywindow.Show()和观看对于不同类型的退货)?

谢谢你的帮助!

0 投票
5 回答
19044 浏览

c# - 如何获取 WinForm 应用程序中最顶层表单的句柄?

我有一个 WinForm 应用程序,它有其他子表单(不是 mdi)。如果用户按下“Esc”,即使没有焦点,最顶层的表单也应该关闭。

我可以使用键盘挂钩来全局捕获 Escape,但我还需要关闭表单的句柄。

我想有一种方法可以使用 Win32 API,但是有没有使用托管代码的解决方案?

0 投票
2 回答
7615 浏览

c# - 如何仅将一个窗口保留在我的应用程序中的所有其他窗口之上?

我想在我的 C# Windows 窗体应用程序中显示一个状态窗口,当应用程序等待获取锁时通知用户。这是一个应用程序定义的东西,但是,该窗口应该是可见的,并且始终保持在我的应用程序的所有其他窗口的顶部,即使用户单击另一个窗口(例如它后面较大的主窗口)也是如此。

它不能是模态的(所以 ShowDialog() 不能使用),因为应用程序需要在后台继续尝试并在最终获得锁时自动关闭窗口,并且它真的不应该是整个窗口的最顶层站(即在该终端会话中运行的所有应用程序)。

我知道 Form.TopMost 属性,但它只能将一个窗口置于所有其他窗口之上,即使是来自其他应用程序的窗口。这显然不是我想要的。

我知道这是可能的,我以前在其他应用程序中见过很多次。我只是不知道该怎么做。

0 投票
3 回答
5462 浏览

c# - C# - 如何处理 2 个“TopMost”表单?

我有一个设置为 TopMost 的父表单,然后我有另一个在单击按钮时打开的表单。此子窗体也设置为 TopMost。我遇到的第一个问题是,当我打开子表单时,应用程序基本上会冻结,因为您无法访问任何内容。我决定不使用 ShowDialog() 打开子窗体,而是使用 Show(this)。这确实解决了最初的问题,但现在我有了一个新问题。子窗体的起始位置设置为 CenterParent,当我使用 Show(this) 时,它不起作用。有什么方法可以打开子窗体,同时将子窗体和父窗体都设置为最顶部,同时将子窗体的起始位置设置为 CenterParent?谢谢你。

0 投票
1 回答
1364 浏览

wpf - 如何阻止父窗口上的 WPF TopMost 标志被子窗口继承

我有一个具有 TopMost=true 的 WPF 窗口。当我从此窗口调用另一个窗口并将最顶层窗口指定为父窗口时,拥有的窗口也显示为 TopMost。

我想找到一种方法来阻止这种情况的发生,这样我的父母仍然可以拥有孩子,但孩子没有 TopMost=True。

我知道我不能费心为孩子设置所有者,然后我不会得到 TopMost 标志,但我需要我的所有窗口与父窗口一起关闭并编写逻辑来处理这似乎是一种浪费包括。

我试图在加载孩子后显式设置 TopMost=False 但没有运气,如果所有者窗口是 TopMost 似乎并不重要,那么无论我对它的 TopMost 属性做什么,孩子都会是。

有任何想法吗?

0 投票
1 回答
4512 浏览

vb.net - 在 VB.NET 中切换 TopMost

我有一个表格,必须在上面一段时间,然后可以正常设置在其他窗口后面。除了设置之外还有什么Me.TopMost需要TrueFalse的吗?我问是因为它似乎不起作用。

0 投票
2 回答
1902 浏览

java - 全屏显示TOPOST窗口

我正在玩 Java 中的 JFrame。我希望它成为最顶层的窗口,即始终位于顶层。setAlwaysOnTop() 工作正常,但是一旦我以全屏模式启动电影或游戏窗口,它就无法保持在顶部。

我玩弄了 JNI 和句柄。我的 JNI 的 C 代码正在使用 SetWindowPos() ,这似乎工作正常,直到我启动一个全屏应用程序。这是一个示例:

我已经在谷歌上搜索了一段时间,我所建立的只是全屏以独占模式运行并“暂停窗口系统,以便可以直接在屏幕上进行绘图”。

任何人都可以提出解决方法吗?顺便提一句。我的C不是那么出色,所以放轻松..

谢谢!达摩