我想在我的 C# Windows 窗体应用程序中显示一个状态窗口,在应用程序等待获取锁时通知用户。这是应用程序定义的事情,但是,该窗口应该是可见的,并且始终保持在应用程序的所有其他窗口之上,即使用户单击另一个窗口(例如其后面的较大主窗口)也是如此。
它不能是模态的(因此不能使用 ShowDialog() ),因为应用程序需要在后台继续尝试,如果最终可以获取锁,则自动关闭窗口,并且它确实不应该位于整个窗口的最顶层站(即在该终端会话中运行的所有应用程序)。
我知道 Form.TopMost 属性,但它只能将一个窗口置于所有其他窗口之上,甚至是来自其他应用程序的窗口。这显然不是我想要的。
我知道这是可能的,我之前在其他应用程序中已经见过很多次了。我只是不知道该怎么做。
如果您将主表单传递到Show http://msdn.microsoft.com/en-us/library/szcefbbd.aspx状态表单的方法,它将保留在主表单的顶部,但不会位于其他应用程序的顶部。因此,在主窗体中,您可以使用如下代码:
StatusForm statusForm = new StatusForm();
statusForm.Show(this);
但是,这只会指出应用程序的一个窗口作为所有者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)