如何在我的应用程序中保持窗口在所有其他窗口之上?

ygo*_*goe 3 c# window topmost

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

它不能是模态的(因此不能使用ShowDialog())因为应用程序需要在后台继续尝试并且如果最终可以获取锁定则自动关闭窗口,并且它实际上不应该是整个窗口的最顶层站(即在该终端会话中运行的所有应用程序).

我知道Form.TopMost属性,但它只能带来并保持一个窗口高于所有其他窗口,甚至是其他应用程序的窗口.这显然不是我想要的.

我知道这是可能的,我以前在其他应用程序中已经看过很多次了.我只是不知道怎么做.

Fre*_*örk 9

如果将主窗体传递给Show状态窗体的方法,它将保留在主窗体的顶部,但不会位于其他应用程序之上.因此,在主窗体中,您可以使用如下代码:

StatusForm statusForm = new StatusForm();
statusForm.Show(this);
Run Code Online (Sandbox Code Playgroud)

但是,这只会指出应用程序的一个窗口作为所有者.